import { CrudifyService } from "./crudify.service";
import { ConfigService } from "../config/config.service";
export declare class CrudifyController<T, C = Partial<T>, U = Partial<T>> {
    private readonly crudService;
    private readonly configService?;
    constructor(crudService: CrudifyService<T, C, U>, configService?: ConfigService | undefined);
    softDelete: any;
    modelName: any;
    create(createDto: C): Promise<any> | {
        success: boolean;
        status: number;
        message: string;
    } | undefined;
    createBulk(data: C[]): Promise<any> | {
        success: boolean;
        status: number;
        message: string;
    } | undefined;
    findAll(query: any): {
        success: boolean;
        status: number;
        message: string;
    } | Promise<import("..").IResponse<T>> | undefined;
    count(query: any): Promise<number> | {
        success: boolean;
        status: number;
        message: string;
    } | undefined;
    findOne(id: string): {
        success: boolean;
        status: number;
        message: string;
    } | Promise<T | null> | undefined;
    put(id: string, updateDto: Partial<U>): {
        success: boolean;
        status: number;
        message: string;
    } | Promise<T | null> | undefined;
    updateBulk(body: {
        filter: any;
        updateDto: any;
    }): Promise<any>;
    restoreBulk(body: {
        filter: any;
    }): Promise<any>;
    update(id: string, updateDto: Partial<T>): {
        success: boolean;
        status: number;
        message: string;
    } | Promise<T | null> | undefined;
    deleteBulk(body: {
        filter: any;
    }): Promise<any>;
    delete(id: string): {
        success: boolean;
        status: number;
        message: string;
    } | Promise<T | null> | undefined;
    deleteSoft(id: string): {
        success: boolean;
        status: number;
        message: string;
    } | Promise<T | null> | undefined;
    restore(id: string): {
        success: boolean;
        status: number;
        message: string;
    } | Promise<T | null> | undefined;
}
