import { AbstractFieldWriteComponent } from '../base-field/abstract-field-write.component';
import { OnChanges, OnInit, QueryList, SimpleChanges } from '@angular/core';
import { WriteComplexFieldComponent } from '../complex/write-complex-field.component';
import { AddressOption } from './address-option.model';
import { AddressesService } from '../../../services/addresses/addresses.service';
import { FormControl, FormGroup } from '@angular/forms';
import { IsCompoundPipe } from '../utils/is-compound.pipe';
import { FocusElementDirective } from '../../../directives/focus-element';
export declare class WriteAddressFieldComponent extends AbstractFieldWriteComponent implements OnInit, OnChanges {
    private isCompoundPipe;
    writeComplexFieldComponent: WriteComplexFieldComponent;
    focusElementDirectives: QueryList<FocusElementDirective>;
    addressesService: AddressesService;
    formGroup: FormGroup;
    addressFormGroup: FormGroup;
    postcode: FormControl;
    addressList: FormControl;
    addressOptions: AddressOption[];
    errDisplay: typeof PostCodeLookupError;
    postcodeLookupError: PostCodeLookupError;
    constructor(addressesService: AddressesService, isCompoundPipe: IsCompoundPipe);
    ngOnInit(): void;
    findAddress(): void;
    refocusElement(): void;
    blankAddress(): void;
    isComplexWithHiddenFields(): boolean;
    shouldShowDetailFields(): boolean;
    addressSelected(): void;
    ngOnChanges(changes: SimpleChanges): void;
    createId(elementId: string): string;
    private defaultLabel;
    private setFormValue;
}
export declare enum PostCodeLookupError {
    MISSING_POSTCODE = 0,
    BAD_REQUEST = 1,
    SERVICE_UNAVAILABLE = 2,
    TRIES_EXHAUSTED = 3
}
