import { BaseEntity, IDDto, SearchQueryDto } from '@serene-dev/la-nest-library';
import { IAuthParam } from 'src/modules/authentication/interfaces/authentication.interface';
import { BaseService } from 'src/services/base.service';
export declare class BaseController<TEntity extends BaseEntity, TSearchDto extends SearchQueryDto = SearchQueryDto> {
    protected readonly service: BaseService<TEntity, TSearchDto>;
    subject: string;
    idParam: string;
    constructor(service: BaseService<TEntity, TSearchDto>);
    getByID(params: IDDto): Promise<string | TEntity>;
    search(query: SearchQueryDto, auth?: IAuthParam): Promise<import("@serene-dev/la-nest-library").ISearchResponse<TEntity>>;
}
