import { Repository } from 'typeorm';
import type { ConfigType } from '@nestjs/config';
import { CreateEventDto } from './dto/create-event.dto';
import { UpdateEventDto } from './dto/update-event.dto';
import { PaginationDto } from "../common/dto/pagination.dto";
import { Event } from './entities/event.entity';
import { LoggerService } from "../services/logger/logger.service";
import uploadConfig from "../files/config/upload.config";
export declare class EventsService {
    private readonly eventRepository;
    private readonly logger;
    private readonly config;
    constructor(eventRepository: Repository<Event>, logger: LoggerService, config: ConfigType<typeof uploadConfig>);
    create(createEventDto: CreateEventDto): Promise<Event>;
    findAll(paginationDto: PaginationDto): Promise<{
        total: number;
        limit: number;
        offset: number;
        data: {
            imageEvent: string | null;
            id: number;
            title: string;
            description?: string;
            startDate?: Date;
            endDate?: Date;
            onCarrousel: boolean;
            isInternal: boolean;
            isCurrent: boolean;
            year: string;
            isActive: boolean;
            url: string;
            createdAt: Date;
            updatedAt: Date;
        }[];
    }>;
    findAllPublicFilter(paginationDto: PaginationDto): Promise<{
        total: number;
        limit: number;
        offset: number;
        events: {
            imageEvent: string | null;
            id: number;
            title: string;
            description?: string;
            startDate?: Date;
            endDate?: Date;
            onCarrousel: boolean;
            isInternal: boolean;
            isCurrent: boolean;
            year: string;
            isActive: boolean;
            url: string;
            createdAt: Date;
            updatedAt: Date;
        }[];
    }>;
    findOne(id: number): Promise<{
        imageEvent: string | null;
        id: number;
        title: string;
        description?: string;
        startDate?: Date;
        endDate?: Date;
        onCarrousel: boolean;
        isInternal: boolean;
        isCurrent: boolean;
        year: string;
        isActive: boolean;
        url: string;
        createdAt: Date;
        updatedAt: Date;
    }>;
    findOneRaw(id: number): Promise<Event>;
    updateFiles(id: number, updateFilds: {
        imageEvent?: string;
        filePdf?: string;
    }): Promise<void>;
    update(id: number, updateEventDto: UpdateEventDto): Promise<Event | null>;
    remove(id: number): Promise<{
        message: string;
    }>;
    private handleDBExceptions;
}
