/**
 * Admission Family Members / Guardians Model - Response Types
 *
 * Purpose: Response type definitions with populated references
 * Cloned from: AuthUserCoreUserFamilyDetails
 * Prefix: admfm_ (admission family member)
 */
import { AdmissionFamilyMembersBase, AdmissionEntityAccessPassManagementAdmfmBase } from "../../schema/admission/admission_family_members";
import { controllerResponse } from "../../utilities";
import { MTableQueries } from "../../common-types/common";
export interface MAdmissionFamilyMemberListPayload extends MTableQueries {
    admfm_admission_id_admap?: string;
    admfm_is_guardian?: boolean;
    admfm_is_primary_guardian?: boolean;
    admfm_isactive?: boolean;
    query?: string;
}
export interface MAdmissionFamilyMemberGetByIdPayload {
    admfm_id: string;
}
export interface MAdmissionFamilyMemberDeletePayload {
    admfm_id: string;
}
export interface MAdmissionFamilyMemberInsertUpdatePayload extends Partial<AdmissionFamilyMembersBase> {
    _id?: string;
    admfm_id?: string;
}
/**
 * Response type with populated references
 */
type AdmissionAdmissionFamilyMembers = Omit<AdmissionFamilyMembersBase, 'admfm_admission_id_admap' | 'admfm_relationship_id_sygms' | 'admfm_gender_id_sygms' | 'admfm_blood_group_sygms' | 'admfm_nationality_id_synty' | 'admfm_annual_income_currency_id_syic' | 'admfm_identification_type_id_sygms' | 'admfm_country_syctr' | 'admfm_pin_code_sypin'> & {
    admfm_admission_id_admap?: {
        _id: string;
        admap_application_number?: string;
        admap_first_name?: string;
        admap_last_name?: string;
    } | string;
    admfm_relationship_id_sygms?: {
        _id: string;
        sygms_code: string;
        sygms_title: string;
    } | string;
    admfm_gender_id_sygms?: {
        _id: string;
        sygms_code: string;
        sygms_title: string;
    } | string;
    admfm_blood_group_sygms?: {
        _id: string;
        sygms_code: string;
        sygms_title: string;
    } | string;
    admfm_nationality_id_synty?: {
        _id: string;
        synty_country_iso_name: string;
        synty_country_iso_code: string;
    } | string;
    admfm_annual_income_currency_id_syic?: {
        _id: string;
        syic_currency_code: string;
        syic_currency_symbol: string;
    } | string;
    admfm_identification_type_id_sygms?: {
        _id: string;
        sygms_code: string;
        sygms_title: string;
    } | string;
    admfm_country_syctr?: {
        _id: string;
        syctr_country_iso_name: string;
        syctr_country_iso_code: string;
        syctr_country_code: string;
    } | string;
    admfm_pin_code_sypin?: {
        _id: string;
        sypin_pincode: number;
        sypin_city: string;
        sypin_state: string;
    } | string;
    admission_entity_access_pass_management?: AdmissionEntityAccessPassManagementAdmfmBase;
};
/**
 * Controller response type for list operations
 */
interface admissionFamilyMembersControllerResponse extends controllerResponse {
    data?: AdmissionAdmissionFamilyMembers[] | AdmissionAdmissionFamilyMembers | null;
    totalDocument?: number;
}
/**
 * Controller response for single operations
 */
interface AdmissionFamilyMemberResponse extends AdmissionAdmissionFamilyMembers {
}
export { AdmissionAdmissionFamilyMembers, // Main response type
AdmissionFamilyMemberResponse, // Single response
admissionFamilyMembersControllerResponse };
