import type { RestAddressFormat } from './RestAddressFormat';
/**
 *
 * @export
 * @interface RestCountry
 */
export interface RestCountry {
    /**
     * The country's two-letter code (ISO 3166-1 alpha-2 format).
     * @type {string}
     * @memberof RestCountry
     */
    readonly isoCode2?: string;
    /**
     *
     * @type {RestAddressFormat}
     * @memberof RestCountry
     */
    addressFormat?: RestAddressFormat;
    /**
     * The country's three-letter code (ISO 3166-1 alpha-3 format).
     * @type {string}
     * @memberof RestCountry
     */
    readonly isoCode3?: string;
    /**
     * The codes of all regions (e.g. states, provinces) of the country (ISO 3166-2 format).
     * @type {Set<string>}
     * @memberof RestCountry
     */
    readonly stateCodes?: Set<string>;
    /**
     * The name of the country.
     * @type {string}
     * @memberof RestCountry
     */
    readonly name?: string;
    /**
     * The country's three-digit code (ISO 3166-1 numeric format).
     * @type {string}
     * @memberof RestCountry
     */
    readonly numericCode?: string;
}
/**
 * Check if a given object implements the RestCountry interface.
 */
export declare function instanceOfRestCountry(value: object): value is RestCountry;
export declare function RestCountryFromJSON(json: any): RestCountry;
export declare function RestCountryFromJSONTyped(json: any, ignoreDiscriminator: boolean): RestCountry;
export declare function RestCountryToJSON(json: any): RestCountry;
export declare function RestCountryToJSONTyped(value?: Omit<RestCountry, 'isoCode2' | 'isoCode3' | 'stateCodes' | 'name' | 'numericCode'> | null, ignoreDiscriminator?: boolean): any;
