/**
 * Admission RTE (Right to Education) Details Model - Response Types
 *
 * Purpose: Response type definitions with populated references
 * Prefix: admrte_ (admission RTE)
 */
import { AdmissionRteDetailsBase } from "../../schema/admission/admission_rte_details";
import { AdmissionEntityAccessPassManagementBase } from "../../schema/admission/admission_contact_addresses";
import { controllerResponse } from "../../utilities";
import { MTableQueries } from "../../common-types/common";
export interface MAdmissionRteDetailsListPayload extends MTableQueries {
    admrte_admission_id_admap?: string;
    admrte_reference_table?: string;
    admrte_reference_id?: string;
    admrte_isactive?: boolean;
    query?: string;
}
export interface MAdmissionRteDetailsGetByIdPayload {
    admrte_id: string;
}
export interface MAdmissionRteDetailsDeletePayload {
    admrte_id: string;
}
export interface MAdmissionRteDetailsInsertUpdatePayload extends Partial<AdmissionRteDetailsBase> {
    _id?: string;
    admrte_id?: string;
}
/**
 * Response type with populated references
 * Using Omit to avoid type conflicts when overriding properties
 */
type AdmissionAdmissionRteDetails = Omit<AdmissionRteDetailsBase, 'admrte_admission_id_admap' | 'admrte_rte_category_id_sygms' | 'admrte_income_certificate_id_cyfm' | 'admrte_caste_certificate_id_cyfm' | 'admrte_caste_category_id_sygms' | 'admrte_bpl_card_id_cyfm' | 'admrte_annual_income_currency_id_syic'> & {
    admrte_admission_id_admap?: {
        _id: string;
        admap_application_number?: string;
        admap_first_name?: string;
        admap_last_name?: string;
    } | string;
    admrte_rte_category_id_sygms?: {
        _id: string;
        sygms_code: string;
        sygms_title: string;
    } | string;
    admrte_income_certificate_id_cyfm?: {
        _id: string;
        cyfm_file_name?: string;
        cyfm_file_path?: string;
    } | string;
    admrte_caste_certificate_id_cyfm?: {
        _id: string;
        cyfm_file_name?: string;
        cyfm_file_path?: string;
    } | string;
    admrte_caste_category_id_sygms?: {
        _id: string;
        sygms_code: string;
        sygms_title: string;
    } | string;
    admrte_bpl_card_id_cyfm?: {
        _id: string;
        cyfm_file_name?: string;
        cyfm_file_path?: string;
    } | string;
    admrte_annual_income_currency_id_syic?: {
        _id: string;
        syic_currency_code?: string;
        syic_currency_name?: string;
    } | string;
    admission_entity_access_pass_management?: AdmissionEntityAccessPassManagementBase;
};
/**
 * Controller response type for list operations
 */
interface admissionRteDetailsControllerResponse extends controllerResponse {
    data?: AdmissionAdmissionRteDetails[] | AdmissionAdmissionRteDetails | null;
    totalDocument?: number;
}
/**
 * Controller response for single operations
 */
interface AdmissionRteDetailsResponse extends AdmissionAdmissionRteDetails {
}
export { AdmissionAdmissionRteDetails, // Main response type
AdmissionRteDetailsResponse, // Single response
admissionRteDetailsControllerResponse };
