import { type SupportedLanguage } from '../../data/iso3166'; export interface ISOCountry { iso: string; iso3: string; numeric: number; name: string; } export interface ISORegion { iso: string; name: string; } export interface UseISODataResult { countries: Record; getRegions: (countryCode: string) => ISORegion[]; findRegion: (countryCode: string, regionCode: string) => ISORegion | null; mapGoogleToISO: (googleState: string, googleStateLong: string, countryCode: string) => ISORegion | null; isLanguageLoaded: boolean; registeredLanguages: SupportedLanguage[]; } /** * React hook for accessing ISO3166 countries and regions data with dynamic language loading * @param language - Language code (supports: en, ru, de, fr, es, zh, hi, pt, ja, ar, it, he) * @param autoImport - Whether to automatically import the language if not registered (default: true) * @param disputeSetting - Territorial dispute perspective (currently only UN is supported) * @returns Object with countries data and helper functions */ export declare function useISOData(language?: SupportedLanguage, autoImport?: boolean, disputeSetting?: string): UseISODataResult; /** * Get available languages for ISO data */ export declare function getAvailableLanguages(): SupportedLanguage[]; /** * Hook to manually import and register a language * @param language - Language code to import * @returns Object with loading state and error handling */ export declare function useLanguageImport(language: SupportedLanguage): { importLanguage: () => Promise; isLoading: boolean; error: string | null; isRegistered: boolean; }; /** * Get list of countries as options for select components * @param language - Language code (defaults to 'en') * @param autoImport - Whether to automatically import the language if not registered (default: true) */ export declare function useCountryOptions(language?: SupportedLanguage, autoImport?: boolean): { value: string; label: string; }[]; /** * Get list of regions/states for a country as options for select components * @param countryCode - ISO country code * @param language - Language code (defaults to 'en') * @param autoImport - Whether to automatically import the language if not registered (default: true) */ export declare function useRegionOptions(countryCode: string, language?: SupportedLanguage, autoImport?: boolean): { value: string; label: string; }[];