import type { AnyCaller } from "./function.js";
/** List of countries by two-letter ISO code. */
export declare const COUNTRIES: {
    readonly AF: "Afghanistan";
    readonly AX: "Aland Islands";
    readonly AL: "Albania";
    readonly DZ: "Algeria";
    readonly AS: "American Samoa";
    readonly AD: "Andorra";
    readonly AO: "Angola";
    readonly AI: "Anguilla";
    readonly AQ: "Antarctica";
    readonly AG: "Antigua and Barbuda";
    readonly AR: "Argentina";
    readonly AM: "Armenia";
    readonly AW: "Aruba";
    readonly AU: "Australia";
    readonly AT: "Austria";
    readonly AZ: "Azerbaijan";
    readonly BS: "Bahamas";
    readonly BH: "Bahrain";
    readonly BD: "Bangladesh";
    readonly BB: "Barbados";
    readonly BY: "Belarus";
    readonly BE: "Belgium";
    readonly BZ: "Belize";
    readonly BJ: "Benin";
    readonly BM: "Bermuda";
    readonly BT: "Bhutan";
    readonly BO: "Bolivia";
    readonly BA: "Bosnia and Herzegovina";
    readonly BW: "Botswana";
    readonly BV: "Bouvet Island";
    readonly BR: "Brazil";
    readonly IO: "British Indian Ocean Territory";
    readonly BN: "Brunei Darussalam";
    readonly BG: "Bulgaria";
    readonly BF: "Burkina Faso";
    readonly BI: "Burundi";
    readonly KH: "Cambodia";
    readonly CM: "Cameroon";
    readonly CA: "Canada";
    readonly CV: "Cape Verde";
    readonly KY: "Cayman Islands";
    readonly CF: "Central African Republic";
    readonly TD: "Chad";
    readonly CL: "Chile";
    readonly CN: "China";
    readonly CX: "Christmas Island";
    readonly CC: "Cocos (Keeling) Islands";
    readonly CO: "Colombia";
    readonly KM: "Comoros";
    readonly CG: "Congo";
    readonly CD: "Congo, Democratic Republic";
    readonly CK: "Cook Islands";
    readonly CR: "Costa Rica";
    readonly CI: "Cote D'Ivoire";
    readonly HR: "Croatia";
    readonly CU: "Cuba";
    readonly CY: "Cyprus";
    readonly CZ: "Czech Republic";
    readonly DK: "Denmark";
    readonly DJ: "Djibouti";
    readonly DM: "Dominica";
    readonly DO: "Dominican Republic";
    readonly EC: "Ecuador";
    readonly EG: "Egypt";
    readonly SV: "El Salvador";
    readonly GQ: "Equatorial Guinea";
    readonly ER: "Eritrea";
    readonly EE: "Estonia";
    readonly ET: "Ethiopia";
    readonly FK: "Falkland Islands";
    readonly FO: "Faroe Islands";
    readonly FJ: "Fiji";
    readonly FI: "Finland";
    readonly FR: "France";
    readonly GF: "French Guiana";
    readonly PF: "French Polynesia";
    readonly TF: "French Southern Territories";
    readonly GA: "Gabon";
    readonly GM: "Gambia";
    readonly GE: "Georgia";
    readonly DE: "Germany";
    readonly GH: "Ghana";
    readonly GI: "Gibraltar";
    readonly GR: "Greece";
    readonly GL: "Greenland";
    readonly GD: "Grenada";
    readonly GP: "Guadeloupe";
    readonly GU: "Guam";
    readonly GT: "Guatemala";
    readonly GG: "Guernsey";
    readonly GN: "Guinea";
    readonly GW: "Guinea-Bissau";
    readonly GY: "Guyana";
    readonly HT: "Haiti";
    readonly HM: "Heard Island & Mcdonald Islands";
    readonly VA: "Holy See (Vatican City State)";
    readonly HN: "Honduras";
    readonly HK: "Hong Kong";
    readonly HU: "Hungary";
    readonly IS: "Iceland";
    readonly IN: "India";
    readonly ID: "Indonesia";
    readonly IR: "Iran, Islamic Republic Of";
    readonly IQ: "Iraq";
    readonly IE: "Ireland";
    readonly IM: "Isle of Man";
    readonly IL: "Israel";
    readonly IT: "Italy";
    readonly JM: "Jamaica";
    readonly JP: "Japan";
    readonly JE: "Jersey";
    readonly JO: "Jordan";
    readonly KZ: "Kazakhstan";
    readonly KE: "Kenya";
    readonly KI: "Kiribati";
    readonly KR: "Korea";
    readonly KP: "North Korea";
    readonly KW: "Kuwait";
    readonly KG: "Kyrgyzstan";
    readonly LA: "Lao People's Democratic Republic";
    readonly LV: "Latvia";
    readonly LB: "Lebanon";
    readonly LS: "Lesotho";
    readonly LR: "Liberia";
    readonly LY: "Libyan Arab Jamahiriya";
    readonly LI: "Liechtenstein";
    readonly LT: "Lithuania";
    readonly LU: "Luxembourg";
    readonly MO: "Macao";
    readonly MK: "Macedonia";
    readonly MG: "Madagascar";
    readonly MW: "Malawi";
    readonly MY: "Malaysia";
    readonly MV: "Maldives";
    readonly ML: "Mali";
    readonly MT: "Malta";
    readonly MH: "Marshall Islands";
    readonly MQ: "Martinique";
    readonly MR: "Mauritania";
    readonly MU: "Mauritius";
    readonly YT: "Mayotte";
    readonly MX: "Mexico";
    readonly FM: "Micronesia, Federated States Of";
    readonly MD: "Moldova";
    readonly MC: "Monaco";
    readonly MN: "Mongolia";
    readonly ME: "Montenegro";
    readonly MS: "Montserrat";
    readonly MA: "Morocco";
    readonly MZ: "Mozambique";
    readonly MM: "Myanmar";
    readonly NA: "Namibia";
    readonly NR: "Nauru";
    readonly NP: "Nepal";
    readonly NL: "Netherlands";
    readonly AN: "Netherlands Antilles";
    readonly NC: "New Caledonia";
    readonly NZ: "New Zealand";
    readonly NI: "Nicaragua";
    readonly NE: "Niger";
    readonly NG: "Nigeria";
    readonly NU: "Niue";
    readonly NF: "Norfolk Island";
    readonly MP: "Northern Mariana Islands";
    readonly NO: "Norway";
    readonly OM: "Oman";
    readonly PK: "Pakistan";
    readonly PW: "Palau";
    readonly PS: "Palestinian Territory, Occupied";
    readonly PA: "Panama";
    readonly PG: "Papua New Guinea";
    readonly PY: "Paraguay";
    readonly PE: "Peru";
    readonly PH: "Philippines";
    readonly PN: "Pitcairn";
    readonly PL: "Poland";
    readonly PT: "Portugal";
    readonly PR: "Puerto Rico";
    readonly QA: "Qatar";
    readonly RE: "Reunion";
    readonly RO: "Romania";
    readonly RU: "Russian Federation";
    readonly RW: "Rwanda";
    readonly BL: "Saint Barthelemy";
    readonly SH: "Saint Helena";
    readonly KN: "Saint Kitts and Nevis";
    readonly LC: "Saint Lucia";
    readonly MF: "Saint Martin";
    readonly PM: "Saint Pierre and Miquelon";
    readonly VC: "Saint Vincent and Grenadines";
    readonly WS: "Samoa";
    readonly SM: "San Marino";
    readonly ST: "Sao Tome and Principe";
    readonly SA: "Saudi Arabia";
    readonly SN: "Senegal";
    readonly RS: "Serbia";
    readonly SC: "Seychelles";
    readonly SL: "Sierra Leone";
    readonly SG: "Singapore";
    readonly SK: "Slovakia";
    readonly SI: "Slovenia";
    readonly SB: "Solomon Islands";
    readonly SO: "Somalia";
    readonly ZA: "South Africa";
    readonly GS: "South Georgia and Sandwich Isl.";
    readonly ES: "Spain";
    readonly LK: "Sri Lanka";
    readonly SD: "Sudan";
    readonly SR: "Suriname";
    readonly SJ: "Svalbard and Jan Mayen";
    readonly SZ: "Swaziland";
    readonly SE: "Sweden";
    readonly CH: "Switzerland";
    readonly SY: "Syrian Arab Republic";
    readonly TW: "Taiwan";
    readonly TJ: "Tajikistan";
    readonly TZ: "Tanzania";
    readonly TH: "Thailand";
    readonly TL: "Timor-Leste";
    readonly TG: "Togo";
    readonly TK: "Tokelau";
    readonly TO: "Tonga";
    readonly TT: "Trinidad and Tobago";
    readonly TN: "Tunisia";
    readonly TR: "Turkey";
    readonly TM: "Turkmenistan";
    readonly TC: "Turks and Caicos Islands";
    readonly TV: "Tuvalu";
    readonly UG: "Uganda";
    readonly UA: "Ukraine";
    readonly AE: "United Arab Emirates";
    readonly GB: "United Kingdom";
    readonly US: "United States";
    readonly UM: "United States Outlying Islands";
    readonly UY: "Uruguay";
    readonly UZ: "Uzbekistan";
    readonly VU: "Vanuatu";
    readonly VE: "Venezuela";
    readonly VN: "Vietnam";
    readonly VG: "Virgin Islands, British";
    readonly VI: "Virgin Islands, U.S.";
    readonly WF: "Wallis and Futuna";
    readonly EH: "Western Sahara";
    readonly YE: "Yemen";
    readonly ZM: "Zambia";
    readonly ZW: "Zimbabwe";
};
/** Country code string. */
export type Country = keyof typeof COUNTRIES;
/** Things that can possibly be a country. */
export type PossibleCountry = Country | "detect";
/** Parse a country string, or detect a browser country from `navigator.language`. */
export declare function getCountry(value?: unknown): Country | undefined;
/** Parse a country string, or detect a browser country from `navigator.language`, or throw `RequiredError` */
export declare function requireCountry(value?: unknown, caller?: AnyCaller): Country;
/** Format a country code into its full country name. */
export declare function formatCountry(country: string): string;
/** Valid shape for physical address data. */
export type AddressData = {
    readonly address1: string;
    readonly address2: string;
    readonly city: string;
    readonly state: string;
    readonly postcode: string;
    readonly country: Country;
};
/** Format address data into a single multiline string. */
export declare function formatAddress({ address1, address2, city, state, postcode, country }: AddressData): string;
