interface Country {
    commonName: string;
    officialName: string;
    isoAlpha2Code: string;
    isoAlpha3Code: string;
    countryNumericCode: string;
    isoAlpha2SubDivisionCode: string;
    region: string;
    subRegion: string;
    region_code: string;
    subRegionCode: string;
    flagUnicode: string;
    flagUrl: string;
    phonePrefix: string;
}
interface State {
    name: string;
    code: string;
    countryCode: string;
    type: string;
}
interface RegionalSetting {
    countryCode: string;
    dateFormat: string;
    timeFormat: string;
    weekStartsOn: 'monday' | 'sunday';
    defaultTimeZone: string;
    numberFormat: {
        format: string;
        example: string;
        groupingStyle: number[];
        decimalSeparator: string;
        thousandSeparator: string;
    };
}
interface Currency {
    name: string;
    isoAlpha3Code: string;
    symbol: string;
    isoNumericCode: string;
    minorUnit: string;
    supportedCountryCodes: string[];
}
interface Industry {
    name: string;
    slug: string;
}
interface JobRole {
    title: string;
    slug: string;
    category: string;
    categorySlug: string;
}

declare function getAllCountries(): Country[];
declare function getCountryByAlpha2Code(code: string): Country | undefined;
declare function getCountryByAlpha3Code(code: string): Country | undefined;

declare function getAllCurrencies(): Currency[];
declare function getCurrencyByAlpha3Code(code: string): Currency | undefined;
declare function getCurrenciesByCountryCode(countryCode: string): Currency[];

declare function getAllIndustries(): Industry[];
declare function getIndustryBySlug(slug: string): Industry | undefined;

declare function getAllJobRoles(): JobRole[];
declare function getJobRoleBySlug(slug: string): JobRole | undefined;
declare function getJobRolesByCategorySlug(categorySlug: string): JobRole[];

declare function getAllStates(): State[];
declare function getStateByCode(code: string): State | undefined;
declare function getStatesByCountryCode(countryCode: string): State[];

declare function getAllRegionalSettings(): RegionalSetting[];
declare function getRegionalSettingByCountryCode(code: string): RegionalSetting | undefined;

export { type Country, type Currency, type Industry, type JobRole, type RegionalSetting, type State, getAllCountries, getAllCurrencies, getAllIndustries, getAllJobRoles, getAllRegionalSettings, getAllStates, getCountryByAlpha2Code, getCountryByAlpha3Code, getCurrenciesByCountryCode, getCurrencyByAlpha3Code, getIndustryBySlug, getJobRoleBySlug, getJobRolesByCategorySlug, getRegionalSettingByCountryCode, getStateByCode, getStatesByCountryCode };
