/** * Admission Confirmation Types * Purpose: Type definitions for admission confirmation functionality */ import { FeeStructure } from '../../schema/fees/fee_structure'; /** * Fee structure item with populated fields for admission confirmation */ export interface AdmissionConfirmationFeeItem extends FeeStructure { fees_structure_name?: string; fees_category_name?: string; fees_total_amount?: number; fees_amount?: number; } /** * Helper type for extracting ID from populated or string fields */ export type PopulatedField = T | { _id: string; [key: string]: unknown; } | null | undefined; /** * Helper type for general master populated fields */ export interface PopulatedGeneralMaster { _id: string; sygms_title?: string; sygms_code?: string; } /** * Helper type for class program populated fields */ export interface PopulatedClassProgram { _id: string; acacpm_alise_title?: string; acacpm_name?: string; acacpm_title?: string; } /** * Helper type for academic year populated fields */ export interface PopulatedAcademicYear { _id: string; acayr_name?: string; acayr_code?: string; acayr_title?: string; } /** * Helper type for entity populated fields */ export interface PopulatedEntity { _id: string; syen_name?: string; } /** * Type guard to check if a value is a populated object */ export declare function isPopulatedObject(value: unknown): value is { _id: string; [key: string]: unknown; }; /** * Extract ID from a populated field or string */ export declare function extractIdFromField(field: string | { _id: string; [key: string]: unknown; } | null | undefined): string; /** * Extract title from a populated general master field */ export declare function extractTitleFromGeneralMaster(field: string | PopulatedGeneralMaster | null | undefined): string; /** * Extract title from a populated class program field */ export declare function extractTitleFromClassProgram(field: string | PopulatedClassProgram | null | undefined): string; /** * Extract title from a populated academic year field */ export declare function extractTitleFromAcademicYear(field: string | PopulatedAcademicYear | null | undefined): string;