/** * Country Data Loader * * Loads country data with government characteristics and WGI metrics * * @module data/loadCountries */ import { GovernmentType } from '../core/GovernmentType'; import { StateCapacityMetrics } from '../core/StateCapacity'; /** * Country data structure */ export interface CountryData { /** Country name */ name: string; /** Government type */ type: GovernmentType; /** Population (millions) */ population: number; /** GDP PPP (billions USD) */ gdpPPP: number; /** World Governance Indicators (2024) */ wgi: StateCapacityMetrics; } /** * Load all country data * * @returns Map of country codes to country data */ export declare function loadCountries(): Map; /** * Load a specific country's data * * @param countryCode - ISO 3166-1 alpha-3 country code * @returns Country data or undefined if not found */ export declare function loadCountry(countryCode: string): CountryData | undefined; /** * Get list of all country codes */ export declare function getCountryCodes(): string[]; /** * Get list of all country names */ export declare function getCountryNames(): string[]; /** * Get countries by government type */ export declare function getCountriesByType(type: GovernmentType): Map; /** * Get countries sorted by GDP PPP (descending) */ export declare function getCountriesByGDP(): Array<[string, CountryData]>; /** * Get countries sorted by state capacity (descending) */ export declare function getCountriesByStateCapacity(): Array<[string, CountryData]>;