import { Address, Country, Province } from '../../../utils/address-lookup/address';
import { ModulVue } from '../../../utils/vue/vue';
export declare type AddressEditorValidator = (value?: string, context?: Address, provinces?: Province[]) => string;
export default class MAddressEditor extends ModulVue {
    readonly address: Address;
    countries: Country[];
    provinces: Province[];
    validations: {
        [field: string]: AddressEditorValidator[];
    };
    i18nBuildingNumber: string;
    i18nSubBuilding: string;
    i18nStreet: string;
    i18nCity: string;
    i18nCountry: string;
    i18nProvince: string;
    i18nPostalCode: string;
    currentAddress: Address;
    private errors;
    private touched;
    mounted(): void;
    onAddressChange(): void;
    onProvincesChange(): void;
    onBuildingNumberChange(value: string): void;
    get buildingNumber(): string;
    get buildingNumberHasError(): boolean;
    get buildingNumberNextError(): string;
    onStreetChange(value: string): void;
    get street(): string;
    get streetHasError(): boolean;
    get streetNextError(): string;
    onSubBuildingChange(value: string): void;
    get subBuilding(): string;
    get subBuildingHasError(): boolean;
    get subBuildingNextError(): string;
    onCountryChange(value: string): void;
    get country(): string;
    get countryHasError(): boolean;
    get countryNextError(): string;
    onProvinceChange(value?: string): void;
    clearProvinceValue(): void;
    get provinceHasError(): boolean;
    get provinceNextError(): string;
    get province(): string;
    onPostalCodeChange(value: string): void;
    get postalCode(): string;
    get postalCodeHasError(): boolean;
    get postalCodeNextError(): string;
    onCityChange(value: string): void;
    get city(): string;
    get cityHasError(): boolean;
    get cityNextError(): string;
    private updateCountryCode;
    private updateAddress;
    private updateIsValid;
    private isValid;
    private updateValue;
    private updateCountryValue;
    private updateProvinceValue;
    private validate;
}
//# sourceMappingURL=address-editor.d.ts.map