import { GeoRegion, ICountry } from './countries'; import * as i0 from "@angular/core"; /** * Service to lazy load country data. * This reduces the initial bundle size by loading country data on-demand. */ export declare class CountriesLoaderService { private readonly http; private countriesData?; private loadPromise?; /** * True when the last load attempt failed (countries.json couldn't be * fetched/parsed). Consumers can read this to show an error in the UI. Reset * to false on a successful (re)load. See `reload()` to retry. */ readonly loadFailed: import("@angular/core").WritableSignal; /** * Loads country data from JSON file. * Subsequent calls return the same promise (singleton pattern). */ private loadCountries; /** * Discards the cached data and re-attempts the load — used to retry after a * failure (`loadFailed()` is true). Resolves once the reload settles. */ reload(): Promise; /** * Gets all countries as an array. * Automatically loads country data if not yet loaded. */ getCountries(): Promise; /** * Gets countries by ID lookup. * Automatically loads country data if not yet loaded. */ getCountriesByID(): Promise>; /** * Gets a specific country by ID. * Automatically loads country data if not yet loaded. */ getCountryByID(id: string): Promise; /** * Gets the unknown country constant. * Automatically loads country data if not yet loaded. */ getUnknownCountry(): Promise; private loadedCountries; /** * Gets countries filtered by geo region. * Automatically loads country data if not yet loaded. */ getCountriesByRegion(region: GeoRegion): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }