import { AdmissionElectiveDetail } from "../../schema";
import { controllerResponse } from "../../utilities";
import { MTableQueries } from "../../common-types/common";
type IAdmissionElectiveDetailErrorLogger = {
    [key in keyof MAdmissionElectiveDetail]: string;
};
type AdmissionElectiveDetailErrorLogger = {
    [key in keyof AdmissionElectiveDetail]: string;
};
type IAdmissionElectiveDetailGetByIdErrorLogger = {
    [key in keyof MAdmissionElectiveDetailGetByIdPayload]: string;
};
declare class AdmissionElectiveDetailPayload {
    admission_elective_detail?: AdmissionElectiveDetail;
    constructor(init: AdmissionElectiveDetailPayload);
    Validate?(): Partial<AdmissionElectiveDetailErrorLogger>;
}
declare class MAdmissionElectiveDetail extends MTableQueries {
    adme_id?: string;
    adme_application_id_admap?: string;
    adme_status?: string;
    constructor(init: MAdmissionElectiveDetail);
    Validate?(): Partial<IAdmissionElectiveDetailErrorLogger>;
}
declare class MAdmissionElectiveDetailGetByIdPayload {
    adme_id?: string;
    constructor(init: MAdmissionElectiveDetailGetByIdPayload);
    Validate?(): Partial<IAdmissionElectiveDetailGetByIdErrorLogger>;
}
interface admissionElectiveDetailControllerResponse extends controllerResponse {
    data?: AdmissionElectiveDetailListResponse[];
    totalDocument?: number;
}
interface admissionElectiveDetailInsertUpdateControllerResponse extends controllerResponse {
    data?: AdmissionElectiveDetail;
}
interface admissionElectiveDetailByIdControllerResponse extends controllerResponse {
    data?: AdmissionElectiveDetail;
}
type AdmissionElectiveDetailListResponse = Omit<AdmissionElectiveDetail, 'adme_application_id_admap' | 'adme_approved_by_user'> & {
    adme_application_id_admap?: {
        _id: string;
        admap_application_number?: string;
        admap_first_name?: string;
        admap_last_name?: string;
    } | string;
    adme_approved_by_user?: {
        _id: string;
        user_fullname?: string;
    } | string;
};
type AdmissionElectiveDetailResponse = Omit<AdmissionElectiveDetail, 'adme_application_id_admap' | 'adme_approved_by_user'> & {
    adme_application_id_admap?: {
        _id: string;
        admap_application_number?: string;
        admap_first_name?: string;
        admap_last_name?: string;
    } | string;
    adme_approved_by_user?: {
        _id: string;
        user_fullname?: string;
    } | string;
};
export type { admissionElectiveDetailControllerResponse, admissionElectiveDetailInsertUpdateControllerResponse, admissionElectiveDetailByIdControllerResponse, AdmissionElectiveDetailListResponse, AdmissionElectiveDetailResponse };
export { AdmissionElectiveDetailPayload, MAdmissionElectiveDetail, MAdmissionElectiveDetailGetByIdPayload };
