import { BaseService } from './base.service';
import { PaginationResult } from './pagination.interface';
import { AdvancedSearchOptions } from './search.interface';
export declare abstract class BaseController<T, CreateDto, UpdateDto> {
    protected readonly service: BaseService<T, CreateDto, UpdateDto>;
    constructor(service: BaseService<T, CreateDto, UpdateDto>);
    private applySwaggerExclusions;
    protected isEndpointEnabled(endpointName: string): boolean;
    protected parseSearchOptions(query: any): AdvancedSearchOptions;
    findAll(page?: string, limit?: string, query?: any): Promise<PaginationResult<T>>;
    findOne(id: string, query?: any): Promise<T>;
    create(createDto: CreateDto): Promise<T>;
    update(id: string, updateDto: UpdateDto): Promise<T>;
    remove(id: string): Promise<T>;
}
