import { MTableQueries } from "../../common-types/common";
import { IEmailReference } from "../../schema/email/email_reference";
import { controllerResponse } from "../../utilities";
type IEmailReferenceErrorLogger = {
    [key in keyof MEmailReference]: string;
};
type IEmailReferenceGetByIdErrorLogger = {
    [key in keyof MEmailReferenceGetByIdPayload]: string;
};
type IEmailReferenceDeleteErrorLogger = {
    [key in keyof MEmailReferenceDeletePayload]: string;
};
type IEmailReferenceInsertUpdateErrorLogger = {
    [key in keyof MEmailReferenceInsertUpdatePayload]: string;
};
type IEmailReferenceToggleStatusErrorLogger = {
    [key in keyof MEmailReferenceToggleStatusPayload]: string;
};
declare class MEmailReference extends MTableQueries {
    eref_reference?: string;
    eref_isactive?: boolean;
    query?: string;
    constructor(init: MEmailReference);
    Validate?(): Partial<IEmailReferenceErrorLogger>;
}
declare class MEmailReferenceGetByIdPayload {
    eref_id?: string;
    _id?: string;
    constructor(init: MEmailReferenceGetByIdPayload);
    Validate?(): Partial<IEmailReferenceGetByIdErrorLogger>;
}
declare class MEmailReferenceDeletePayload {
    eref_id?: string;
    _id?: string;
    constructor(init: MEmailReferenceDeletePayload);
    Validate?(): Partial<IEmailReferenceDeleteErrorLogger>;
}
declare class MEmailReferenceToggleStatusPayload {
    eref_id?: string;
    _id?: string;
    eref_isactive?: boolean;
    constructor(init: MEmailReferenceToggleStatusPayload);
    Validate?(): Partial<IEmailReferenceToggleStatusErrorLogger>;
}
declare class MEmailReferenceInsertUpdatePayload implements IEmailReference {
    _id?: string;
    eref_reference: string;
    eref_sender_id_elst: string;
    eref_receiver_id_elst: string;
    eref_var: string[];
    eref_isactive: boolean;
    constructor(init: Partial<IEmailReference> & {
        _id?: string;
    });
    Validate?(): Partial<IEmailReferenceInsertUpdateErrorLogger>;
}
interface emailReferenceControllerResponse extends controllerResponse {
    data?: any[] | any | null;
    total?: number;
    totalDocument?: number;
}
interface emailReferenceByIdControllerResponse extends controllerResponse {
    data?: any | null;
}
interface emailReferenceInsertUpdateControllerResponse extends controllerResponse {
    data?: any | null;
}
interface emailReferenceDeleteControllerResponse extends controllerResponse {
    data?: any | null;
}
interface emailReferenceToggleStatusControllerResponse extends controllerResponse {
    data?: any | null;
}
export { MEmailReference, MEmailReferenceGetByIdPayload, MEmailReferenceDeletePayload, MEmailReferenceInsertUpdatePayload, MEmailReferenceToggleStatusPayload, emailReferenceControllerResponse, emailReferenceByIdControllerResponse, emailReferenceInsertUpdateControllerResponse, emailReferenceDeleteControllerResponse, emailReferenceToggleStatusControllerResponse };
