import { MTableQueries } from "../../common-types/common";
import { AdmissionApplicationMain } from "../../schema";
import { controllerResponse } from "../../utilities";
declare type PopulatedGeneralMaster = any;
type IAdmissionApplicationMainErrorLogger = {
    [key in keyof MAdmissionApplicationMain]: string;
};
type AdmissionApplicationMainErrorLogger = {
    [key in keyof AdmissionApplicationMain]: string;
};
type IAdmissionApplicationMainGetByIdErrorLogger = {
    [key in keyof MAdmissionApplicationMainGetByIdPayload]: string;
};
declare class AdmissionApplicationPayload {
    admission_application?: AdmissionApplicationMain;
    constructor(init: AdmissionApplicationPayload);
    Validate?(): Partial<AdmissionApplicationMainErrorLogger>;
}
declare class MAdmissionApplicationMain extends MTableQueries {
    admap_id?: string;
    admap_entity_id_syen?: string;
    admap_academic_year_id_acayr?: string;
    admap_application_status?: string;
    constructor(init: MAdmissionApplicationMain);
    Validate?(): Partial<IAdmissionApplicationMainErrorLogger>;
}
declare class MAdmissionApplicationMainGetByIdPayload {
    admap_id?: string;
    constructor(init: MAdmissionApplicationMainGetByIdPayload);
    Validate?(): Partial<IAdmissionApplicationMainGetByIdErrorLogger>;
}
interface admissionApplicationMainControllerResponse extends controllerResponse {
    data?: AdmissionApplicationListResponse[];
    totalDocument?: number;
}
interface admissionApplicationMainInsertUpdateControllerResponse extends controllerResponse {
    data?: AdmissionApplicationResponse;
}
interface admissionApplicationByIdControllerResponse extends controllerResponse {
    data?: AdmissionApplicationResponse;
}
type AdmissionApplicationListResponse = Omit<AdmissionApplicationMain, 'admap_entity_id_syen' | 'admap_academic_year_id_acayr' | 'admap_gender_id_sygms' | 'admap_citizenship_status_id_sygms' | 'admap_program_category_id_sygms' | 'admap_application_status_id_sygms' | 'admap_nationality_id_synat'> & {
    admap_entity_id_syen?: {
        _id: string;
        syen_name?: string;
    } | string;
    admap_academic_year_id_acayr?: {
        _id: string;
        acayr_name?: string;
    } | string;
    admap_gender_id_sygms?: {
        _id: string;
        sygms_title?: string;
        sygms_code?: string;
    } | string;
    admap_citizenship_status_id_sygms?: {
        _id: string;
        sygms_title?: string;
        sygms_code?: string;
    } | string;
    admap_program_category_id_sygms?: {
        _id: string;
        sygms_title?: string;
        sygms_code?: string;
    } | string;
    admap_application_status_id_sygms?: {
        _id: string;
        sygms_title?: string;
        sygms_code?: string;
    } | string;
    admap_nationality_id_synat?: {
        _id: string;
        synat_nationality_name?: string;
    } | string;
};
type AdmissionApplicationResponse = Omit<AdmissionApplicationMain, 'admap_entity_id_syen' | 'admap_academic_year_id_acayr' | 'admap_gender_id_sygms' | 'admap_citizenship_status_id_sygms' | 'admap_program_category_id_sygms' | 'admap_application_status_id_sygms' | 'admap_nationality_id_synat' | 'admap_blood_group_id_sygms' | 'admap_class_program_id_acacpm' | 'admap_class_program_term_id_acapt' | 'admap_class_program_branch_id_acabrn' | 'admap_transportation_method_id_sygms'> & {
    admap_entity_id_syen?: {
        _id: string;
        syen_name?: string;
    } | string | null;
    admap_academic_year_id_acayr?: {
        _id: string;
        acayr_name?: string;
        acayr_code?: string;
        acayr_title?: string;
    } | string | null;
    admap_gender_id_sygms?: {
        _id: string;
        sygms_title?: string;
        sygms_code?: string;
    } | string | null;
    admap_citizenship_status_id_sygms?: {
        _id: string;
        sygms_title?: string;
        sygms_code?: string;
    } | string | null;
    admap_program_category_id_sygms?: {
        _id: string;
        sygms_title?: string;
        sygms_code?: string;
    } | string | null;
    admap_application_status_id_sygms?: {
        _id: string;
        sygms_title?: string;
        sygms_code?: string;
    } | string | null;
    admap_nationality_id_synat?: {
        _id: string;
        synat_nationality_name?: string;
    } | string | null;
    admap_blood_group_id_sygms?: {
        _id: string;
        sygms_title?: string;
        sygms_code?: string;
    } | string | null;
    admap_class_program_id_acacpm?: {
        _id: string;
        acacpm_alise_title?: string;
        acacpm_name?: string;
        acacpm_title?: string;
    } | string | null;
    admap_class_program_term_id_acapt?: {
        _id: string;
        acapt_name?: string;
        acapt_code?: string;
    } | string | null;
    admap_class_program_branch_id_acabrn?: {
        _id: string;
        acabrn_name?: string;
        acabrn_code?: string;
    } | string | null;
    admap_transportation_method_id_sygms?: {
        _id: string;
        sygms_title?: string;
        sygms_code?: string;
    } | string | null;
    admap_sibling_information?: string | null;
    admap_authorized_pick_up_list?: string | null;
    admap_emergency_contact_name?: string | null;
    admap_emergency_contact_relationship_id_sygms?: string | PopulatedGeneralMaster | null;
    admap_emergency_contact_phone?: string | null;
    admap_converted_to_student_at?: Date | string | null;
};
/**
 * Convert admission application to student payload
 */
interface ConvertToStudentPayload {
    admap_id: string;
    student_created_by_user?: string;
    student_created_at?: Date | string;
    conversion_remarks?: string;
}
/**
 * Convert admission application to student response
 */
interface ConvertToStudentResponse {
    success: boolean;
    data?: {
        admission_id: string;
        student_id: string;
        student_data?: any;
    };
    message?: string;
}
export type { IAdmissionApplicationMainErrorLogger, AdmissionApplicationMainErrorLogger, IAdmissionApplicationMainGetByIdErrorLogger, admissionApplicationMainControllerResponse, admissionApplicationMainInsertUpdateControllerResponse, admissionApplicationByIdControllerResponse, AdmissionApplicationListResponse, AdmissionApplicationResponse, ConvertToStudentPayload, ConvertToStudentResponse };
export { AdmissionApplicationPayload, MAdmissionApplicationMain, MAdmissionApplicationMainGetByIdPayload };
