export interface SearchParams { firstName?: string; lastName?: string; ageAtMigration?: string; yearOfArrival?: string; regionOfOrigin?: string; settlementLocation?: string; } // Pagination metadata structure export interface Pagination { total: number; currentPage: number; totalPages: number; perPage: number; } // Migration details for a person export interface Migration { date_of_arrival_aus?: string; date_of_arrival_nt?: string; arrival_period?: string; data_source?: string; } // Naturalization details for a person export interface Naturalization { certificate_number?: string; date_of_naturalization?: string; previous_nationality?: string; place_of_naturalization?: string; } // Residence details for a person export interface Residence { town_or_city?: string; home_at_death?: string; } // Family details for a person export interface Family { spouse_name?: string; spouse_origin?: string; number_of_children?: number; names_of_children?: string; additional_notes?: string; } // Internment details for a person export interface Internment { was_interned: boolean; camp_name?: string; date_of_internment?: string; date_of_release?: string; additional_notes?: string; } // A single search result representing a person record export interface SearchResult { person_id: string; surname: string; christian_name: string; full_name: string; date_of_birth?: string; place_of_birth?: string; date_of_death?: string; occupation?: string; additional_notes?: string; reference?: string; id_card_no?: string; migration: Migration; naturalization: Naturalization; residence: Residence; family: Family; internment: Internment; } // The overall search response from the API export interface SearchResponse { data: SearchResult[]; pagination: Pagination; success: boolean; message: string; }