import { Response as ExpressResponse } from 'express';
import { ApiLog } from 'src/api-logs/entities/api-log.entity';
import { Repository } from 'typeorm';
import { PostsService } from './posts.service';
import { CreatePostDto } from './dto/create-post.dto';
import { UpdatePostDto } from './dto/update-post.dto';
import { ReportPostDto } from './dto/report-post.dto';
export declare class PostsController {
    private readonly postsService;
    private readonly apiLogRepository;
    constructor(postsService: PostsService, apiLogRepository: Repository<ApiLog>);
    create(createPostDto: CreatePostDto, res: ExpressResponse): Promise<void>;
    findAll(take: number, skip: number, search: string, startDate: string, endDate: string, res: ExpressResponse, headers: any): Promise<void>;
    findOne(id: string, res: ExpressResponse): Promise<void>;
    update(id: string, userId: string, updatePostDto: UpdatePostDto, res: ExpressResponse): Promise<void>;
    updateForAdmin(id: string, updatePostDto: UpdatePostDto, res: ExpressResponse): Promise<void>;
    updateForReport(id: string, reportPostDto: ReportPostDto, res: ExpressResponse): Promise<void>;
    GetAllReportedPost(take: number, skip: number, search: string, startDate: string, endDate: string, res: ExpressResponse): Promise<void>;
    remove(id: string, userId: string, res: ExpressResponse): Promise<void>;
    removeForAdmin(id: string, res: ExpressResponse): Promise<void>;
}
