import { MTableQueries } from "../../common-types/common";
import { FdskLeadConfigMaster, FdskLeadConfigMasterBase } from "../../schema";
import { controllerResponse } from "../../utilities";
type IFdskLeadConfigMasterErrorLogger = {
    [key in keyof MFdskLeadConfigMasterListPayload]: string;
};
type FdskLeadConfigMasterErrorLogger = {
    [key in keyof FdskLeadConfigMaster]: string;
};
type IFdskLeadConfigMasterGetByIdErrorLogger = {
    [key in keyof MFdskLeadConfigMasterGetByIdPayload]: string;
};
type IFdskLeadConfigMasterDeleteErrorLogger = {
    [key in keyof MFdskLeadConfigMasterDeletePayload]: string;
};
declare class FdskLeadConfigMasterSaveUpdatePayload {
    fdsk_lead_config_master?: FdskLeadConfigMaster;
    constructor(init: FdskLeadConfigMasterSaveUpdatePayload);
    Validate?(): Partial<FdskLeadConfigMasterErrorLogger>;
}
declare class MFdskLeadConfigMasterListPayload extends MTableQueries {
    fdlcm_id?: string;
    constructor(init: MFdskLeadConfigMasterListPayload);
    Validate?(): Partial<IFdskLeadConfigMasterErrorLogger>;
}
declare class MFdskLeadConfigMasterGetByIdPayload {
    fdlcm_id?: string;
    fdlcm_form_endpoint?: string;
    constructor(init: MFdskLeadConfigMasterGetByIdPayload);
    Validate?(): Partial<IFdskLeadConfigMasterGetByIdErrorLogger>;
    ToQueryString?(): string;
}
declare class MFdskLeadConfigMasterDeletePayload {
    fdlcm_id?: string;
    constructor(init: MFdskLeadConfigMasterDeletePayload);
    Validate?(): Partial<IFdskLeadConfigMasterDeleteErrorLogger>;
    ToQueryString?(): string;
}
interface fdskLeadConfigMasterListControllerResponse extends controllerResponse {
    data?: FdskLeadConfigMasterListResponse[];
}
interface fdskLeadConfigMasterInsertUpdateControllerResponse extends controllerResponse {
    data?: FdskLeadConfigMaster;
}
interface fdskLeadConfigMasterByIdControllerResponse extends controllerResponse {
    data?: FdskLeadConfigMasterGetByIdResponse;
}
interface fdskLeadConfigMasterDeleteControllerResponse extends controllerResponse {
    data?: boolean;
}
interface FdskLeadConfigMasterListResponse extends FdskLeadConfigMasterBase {
    fdlcm_lead_created_for_id_sygms?: {
        _id?: string;
        sygms_title?: string;
    };
    fdlcm_defalut_priority_id_sygms?: {
        _id?: string;
        sygms_title?: string;
    };
    fdlcm_default_counselor_id_user?: {
        _id?: string;
        user_fullname?: string;
    };
}
/**
 * Response type for GetById with populated fields
 * Matches the actual API response structure
 */
interface FdskLeadConfigMasterGetByIdResponse extends FdskLeadConfigMasterBase {
    fdlcm_lead_created_for_id_sygms?: {
        _id?: string;
        sygms_title?: string;
    };
    fdlcm_defalut_priority_id_sygms?: {
        _id?: string;
        sygms_title?: string;
    };
    fdlcm_default_counselor_id_user?: {
        _id?: string;
        user_fullname?: string;
    };
    fdlcm_entity_id_syen?: string;
}
export { IFdskLeadConfigMasterErrorLogger, //interface
IFdskLeadConfigMasterGetByIdErrorLogger, //interface
IFdskLeadConfigMasterDeleteErrorLogger, //interface
MFdskLeadConfigMasterListPayload, // model
MFdskLeadConfigMasterGetByIdPayload, // model
MFdskLeadConfigMasterDeletePayload, // model
fdskLeadConfigMasterListControllerResponse, FdskLeadConfigMasterListResponse, fdskLeadConfigMasterInsertUpdateControllerResponse, fdskLeadConfigMasterByIdControllerResponse, FdskLeadConfigMasterGetByIdResponse, fdskLeadConfigMasterDeleteControllerResponse, FdskLeadConfigMasterSaveUpdatePayload };
