import { OnChanges, OnInit, QueryList, SimpleChanges } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
import { FocusElementDirective } from '../../../directives/focus-element';
import { AddressesService } from '../../../services/addresses/addresses.service';
import { AbstractFieldWriteComponent } from '../base-field/abstract-field-write.component';
import { WriteComplexFieldComponent } from '../complex/write-complex-field.component';
import { IsCompoundPipe } from '../utils/is-compound.pipe';
import { AddressOption } from './address-option.model';
import * as i0 from "@angular/core";
export declare class WriteAddressFieldComponent extends AbstractFieldWriteComponent implements OnInit, OnChanges {
    private readonly isCompoundPipe;
    writeComplexFieldComponent: WriteComplexFieldComponent;
    focusElementDirectives: QueryList<FocusElementDirective>;
    static readonly REQUIRED_ERROR_MESSAGE = "Enter a Postcode";
    static readonly INVALID_ERROR_MESSAGE = "Enter a valid Postcode";
    addressesService: AddressesService;
    addressFormGroup: FormGroup<{}>;
    postcode: FormControl;
    addressList: FormControl;
    addressOptions: AddressOption[];
    errorMessage: string;
    missingPostcode: boolean;
    noAddressSelected: boolean;
    constructor(addressesService: AddressesService, isCompoundPipe: IsCompoundPipe);
    ngOnInit(): void;
    findAddress(): void;
    refocusElement(): void;
    blankAddress(): void;
    isComplexWithHiddenFields(): boolean;
    shouldShowDetailFields(): boolean;
    addressSelected(): void;
    ngOnChanges(changes: SimpleChanges): void;
    buildIdPrefix(elementId: string): string;
    private setFormValue;
    private updateErrorsOnContinue;
    static ɵfac: i0.ɵɵFactoryDeclaration<WriteAddressFieldComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WriteAddressFieldComponent, "ccd-write-address-field", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=write-address-field.component.d.ts.map