import { Repository } from 'typeorm';
import { AnnouncementEntity, AnnouncementSections } from './entities/announcement.entity';
import { CreateAnnouncementDto } from './dto/create-announcement.dto';
import { UpdateAnnouncementDto } from './dto/update-announcement.dto';
export declare class AnnouncementService {
    private announcementRepository;
    constructor(announcementRepository: Repository<AnnouncementEntity>);
    getByIdForAdmin(id: number): Promise<AnnouncementEntity>;
    getAllForAdmin(page?: number, limit?: number, filters?: any, sorts?: any): Promise<{
        items: AnnouncementEntity[];
        pagination: {
            itemsPerPage: number;
            totalItems: number;
            currentPage: number;
            totalPages: number;
        };
    }>;
    getAll(section?: AnnouncementSections): Promise<AnnouncementEntity[]>;
    create(dto: CreateAnnouncementDto): Promise<import("typeorm").InsertResult>;
    updateById(dto: UpdateAnnouncementDto): Promise<void>;
    delete(id: number): Promise<import("typeorm").DeleteResult>;
}
