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;
    readonly buildingNumber: string;
    readonly buildingNumberHasError: boolean;
    readonly buildingNumberNextError: string;
    onStreetChange(value: string): void;
    readonly street: string;
    readonly streetHasError: boolean;
    readonly streetNextError: string;
    onSubBuildingChange(value: string): void;
    readonly subBuilding: string;
    readonly subBuildingHasError: boolean;
    readonly subBuildingNextError: string;
    onCountryChange(value: string): void;
    readonly country: string;
    readonly countryHasError: boolean;
    readonly countryNextError: string;
    onProvinceChange(value?: string): void;
    clearProvinceValue(): void;
    readonly provinceHasError: boolean;
    readonly provinceNextError: string;
    readonly province: string;
    onPostalCodeChange(value: string): void;
    readonly postalCode: string;
    readonly postalCodeHasError: boolean;
    readonly postalCodeNextError: string;
    onCityChange(value: string): void;
    readonly city: string;
    readonly cityHasError: boolean;
    readonly cityNextError: string;
    private updateCountryCode;
    private updateAddress;
    private updateIsValid;
    private isValid;
    private updateValue;
    private updateCountryValue;
    private updateProvinceValue;
    private validate;
}
//# sourceMappingURL=address-editor.d.ts.map