import { ICoreCyfm } from "../../schema";
import { controllerResponse } from "../../utilities";
type IFileManagerErrorLogger = {
    [key in keyof MFileManager]: string;
};
type IFileManagerListByGroupIdErrorLogger = {
    [key in keyof MFileManagerListByGroupIdPayload]: string;
};
declare class MFileManager {
    cyfm_id: string;
    constructor(init: MFileManager);
    Validate?(): Partial<IFileManagerErrorLogger>;
}
declare class ICoreCyfmSave extends ICoreCyfm {
    cyfm_file_base64: string;
    cyfm_temp_unique_id: string;
    constructor(init: ICoreCyfmSave);
}
declare class CoreFileManagerInsertUpdatePayload {
    core_file_manager_new: ICoreCyfmSave[];
    core_file_manager_update: ICoreCyfm[];
    core_file_manager_delete: ICoreCyfm[];
    constructor(init: MFileManager);
    Validate?(): Partial<IFileManagerErrorLogger>;
}
declare class MFileManagerListByGroupIdPayload {
    cyfm_group_id?: string;
    cyfm_isactive?: boolean;
    page?: number;
    limit?: number;
    sort_by?: string;
    sort_order?: 'asc' | 'desc';
    constructor(init: MFileManagerListByGroupIdPayload);
    Validate?(): Partial<IFileManagerListByGroupIdErrorLogger>;
}
interface fileManagerResponseData extends ICoreCyfm {
    cyfm_file_base64: string;
}
interface fileManagerControllerResponse extends controllerResponse {
    data?: fileManagerResponseData[];
}
interface CoreFileManagerInsertUpdateResponse extends controllerResponse {
    data?: {
        core_file_manager: {
            cyfm_id: string;
            cyfm_temp_unique_id: string;
        }[];
    };
}
interface fileManagerListByGroupIdControllerResponse extends controllerResponse {
    data?: {
        files: ICoreCyfm[];
        group_info: {
            cyfm_group_id: string;
            total_files_in_group: number;
        };
    };
}
export { IFileManagerErrorLogger, //interface
IFileManagerListByGroupIdErrorLogger, MFileManager, // model
MFileManagerListByGroupIdPayload, fileManagerControllerResponse, // above coresponding to payload abd this corespons to rresponse,
fileManagerListByGroupIdControllerResponse, fileManagerResponseData, CoreFileManagerInsertUpdatePayload, CoreFileManagerInsertUpdateResponse };
