import { CreatePostDto } from './dto/create-post.dto';
import { UpdatePostDto } from './dto/update-post.dto';
import { PostEntity } from './entities/post.entity';
import { Repository } from 'typeorm';
import { PostRepository } from './posts.repository';
import { UserRepository } from 'src/user/user.repository';
import { ReportPostDto } from './dto/report-post.dto';
export declare class PostsService {
    private readonly postService;
    private readonly postRepository;
    private readonly userRepository;
    constructor(postService: Repository<PostEntity>, postRepository: PostRepository, userRepository: UserRepository);
    create(createCourseDto: CreatePostDto): Promise<CreatePostDto & PostEntity>;
    findAll(take: number, skip: number, search: any, headers: any): Promise<{
        count: number;
        result: PostEntity[];
    }>;
    findAllReport(take: number, skip: number, search: any): Promise<{
        count: number;
        result: PostEntity[];
    }>;
    sendPushNotificationToUsers(title: string, body: string): Promise<string>;
    findOne(id: string): Promise<PostEntity>;
    update(id: string, userID: string, updatePostDto: UpdatePostDto): Promise<PostEntity>;
    updateForAdmin(id: string, updatePostDto: UpdatePostDto): Promise<PostEntity>;
    report(id: string, reportPostDto: ReportPostDto): Promise<PostEntity>;
    remove(id: string, userID: string): Promise<import("typeorm").UpdateResult>;
    removeForAdmin(id: string): Promise<import("typeorm").UpdateResult>;
}
