import { MTableQueries } from "../../common-types/common";
import { IEmailTemplete } from "../../schema/email/email_templete";
import { controllerResponse } from "../../utilities";
type IEmailTemplateErrorLogger = {
    [key in keyof MEmailTemplate]: string;
};
type IEmailTemplateGetByIdErrorLogger = {
    [key in keyof MEmailTemplateGetByIdPayload]: string;
};
type IEmailTemplateDeleteErrorLogger = {
    [key in keyof MEmailTemplateDeletePayload]: string;
};
type IEmailTemplateInsertUpdateErrorLogger = {
    [key in keyof MEmailTemplateInsertUpdatePayload]: string;
};
type IEmailTemplateToggleStatusErrorLogger = {
    [key in keyof MEmailTemplateToggleStatusPayload]: string;
};
declare class MEmailTemplate extends MTableQueries {
    etmp_id_eref?: string;
    etmp_subject?: string;
    etmp_isactive?: boolean;
    query?: string;
    constructor(init: MEmailTemplate);
    Validate?(): Partial<IEmailTemplateErrorLogger>;
}
declare class MEmailTemplateGetByIdPayload {
    etmp_id?: string;
    _id?: string;
    constructor(init: MEmailTemplateGetByIdPayload);
    Validate?(): Partial<IEmailTemplateGetByIdErrorLogger>;
}
declare class MEmailTemplateDeletePayload {
    etmp_id?: string;
    _id?: string;
    constructor(init: MEmailTemplateDeletePayload);
    Validate?(): Partial<IEmailTemplateDeleteErrorLogger>;
}
declare class MEmailTemplateToggleStatusPayload {
    etmp_id?: string;
    _id?: string;
    etmp_isactive?: boolean;
    constructor(init: MEmailTemplateToggleStatusPayload);
    Validate?(): Partial<IEmailTemplateToggleStatusErrorLogger>;
}
declare class MEmailTemplateInsertUpdatePayload implements IEmailTemplete {
    _id?: string;
    etmp_id_eref: string;
    etmp_subject: string;
    etmp_body: string;
    etmp_isactive: boolean;
    constructor(init: Partial<IEmailTemplete> & {
        _id?: string;
    });
    Validate?(): Partial<IEmailTemplateInsertUpdateErrorLogger>;
}
interface emailTemplateControllerResponse extends controllerResponse {
    data?: any[] | any | null;
    total?: number;
    totalDocument?: number;
}
interface emailTemplateByIdControllerResponse extends controllerResponse {
    data?: any | null;
}
interface emailTemplateInsertUpdateControllerResponse extends controllerResponse {
    data?: any | null;
}
interface emailTemplateDeleteControllerResponse extends controllerResponse {
    data?: any | null;
}
interface emailTemplateToggleStatusControllerResponse extends controllerResponse {
    data?: any | null;
}
export { MEmailTemplate, MEmailTemplateGetByIdPayload, MEmailTemplateDeletePayload, MEmailTemplateInsertUpdatePayload, MEmailTemplateToggleStatusPayload, emailTemplateControllerResponse, emailTemplateByIdControllerResponse, emailTemplateInsertUpdateControllerResponse, emailTemplateDeleteControllerResponse, emailTemplateToggleStatusControllerResponse };
