export interface Region { code: string; name: string; designation: string; } export interface Province { code: string; name: string; region: string; } export interface CityMunicipality { /** PSGC 6-digit code (region + province + city/mun ordinal). */ code: string; name: string; /** 4-digit province code, or `null` for HUC/NCR cities not under any province. */ province: string | null; /** 2-digit region code. */ region: string; /** True if PSA classifies as a city (independent or component); false for municipality. */ isCity: boolean; /** True if this is the capital of its province (or NCR's seat for NCR-only entries). */ isCapital: boolean; } export declare function listRegions(): Region[]; export declare function findRegion(query: string): Region | null; export declare function listProvinces(regionCode?: string): Province[]; export declare function findProvince(query: string): Province | null; /** * List all cities and municipalities. Optionally filter by 4-digit province code * or 2-digit region code. Source: PSA Q4 2024 PSGC release (1,634 entries). * * @example * listCitiesMunicipalities({ province: '0722' }); // → all in Cebu * listCitiesMunicipalities({ region: '13' }); // → all 17 NCR cities * listCitiesMunicipalities({ region: '07', isCity: true }); // → cities only */ export declare function listCitiesMunicipalities(filter?: { province?: string; region?: string; isCity?: boolean; isCapital?: boolean; }): CityMunicipality[]; /** * Look up a city or municipality by PSGC 6-digit code, or by name (case-insensitive). * * Name matching normalizes both "City of X" (PSA's stored form) and "X City" (common * user spelling), so `findCityMunicipality('Cebu City')`, `findCityMunicipality('City of Cebu')`, * and `findCityMunicipality('Cebu')` all return the same entry. */ export declare function findCityMunicipality(query: string): CityMunicipality | null;