import { Repository } from 'typeorm';
import { Blog } from './entities/blog.entity';
import { BlogTranslation } from './entities/blog-translation.entity';
import { CreateBlogDto } from './dto/create-blog.dto';
import { UpdateBlogDto } from './dto/update-blog.dto';
import { QueryBlogDto } from './dto/query-blog.dto';
import { UserService } from 'modules/user/users.service';
import { IBlogResponseDto, IBlogResponsePaginationDto } from './dto/blog-response';
import { FileUploadService } from 'modules/file-upload/file-upload.service';
export declare class BlogService {
    private blogRepository;
    private blogTranslationRepository;
    private userService;
    private readonly fileuploadService;
    private readonly logger;
    constructor(blogRepository: Repository<Blog>, blogTranslationRepository: Repository<BlogTranslation>, userService: UserService, fileuploadService: FileUploadService);
    create(userId: number, createBlogDto: CreateBlogDto): Promise<IBlogResponseDto>;
    findAll(queryParams: QueryBlogDto): Promise<IBlogResponsePaginationDto>;
    findOne(id: number): Promise<IBlogResponseDto>;
    findBySlug(slug: string, language?: string): Promise<Blog>;
    update(id: number, userId: number, updateBlogDto: UpdateBlogDto): Promise<IBlogResponseDto>;
    incrementViewCount(slug: string): Promise<void>;
    remove(id: number): Promise<void>;
    uploadBlogCoverImage(file: Express.Multer.File): Promise<string>;
}
