import { BaseEntity, Paginator, SelectOption } from '@repo/types';
import { CrudService } from '../services/crud.service';
import { AuthService } from '../../auth/auth.service';
import { Request } from 'express';
export declare class CollectionController {
    private readonly crudService;
    private readonly authService;
    constructor(crudService: CrudService, authService: AuthService);
    findAll(entitySlug: string, queryParams: {
        [key: string]: string | string[];
    }, req: Request): Promise<Paginator<BaseEntity>>;
    findSelectOptions(entitySlug: string, queryParams: {
        [key: string]: string | string[];
    }): Promise<SelectOption[]>;
    findOne(entitySlug: string, id: string, queryParams: {
        [key: string]: string | string[];
    }, req: Request): Promise<BaseEntity>;
    store(entity: string, entityDto: Partial<BaseEntity>): Promise<BaseEntity>;
    put(entitySlug: string, id: string, itemDto: Partial<BaseEntity>): Promise<BaseEntity>;
    patch(entitySlug: string, id: string, itemDto: Partial<BaseEntity>): Promise<BaseEntity>;
    delete(entity: string, id: string): Promise<BaseEntity>;
}
