import * as i0 from "@angular/core"; import { ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core"; import { AbstractControl, FormControl } from "@angular/forms"; interface IAlphagovAccessibleAutocompleteItem { name: string; value: string | number; } export declare class AlphagovAccessibleAutocompleteComponent implements OnInit, OnDestroy, OnChanges { private readonly changeDetector; private _control; private readonly ngUnsubscribe; private describedByObserver; private containerObserver; labelText: string; labelClasses: string; inputId: string; inputName: string; inputClasses: string; hintText: string; autoCompleteItems: IAlphagovAccessibleAutocompleteItem[]; showAllValues: boolean; /** Formats suggestion HTML only; option names remain unchanged for input values and matching. */ suggestionTemplate?: (label: string) => string; errors: string | null; autocompleteContainer: ElementRef; autoCompleteId: string; set control(abstractControl: AbstractControl | null); constructor(); /** * Gets the control for the alphagov-accessible-autocomplete component. * @returns The control for the component. */ get getControl(): FormControl; /** * Handles the confirmation of a selected name. * * @param selectedName - The selected name. * @returns void */ private handleOnConfirm; /** * Retrieves the default value for the autocomplete component. * * @returns The default value as a string. */ private getDefaultValue; /** * Builds the props object for the AccessibleAutocomplete component. * @returns The props object for the AccessibleAutocomplete component. */ private buildAutoCompleteProps; /** * Renders a custom dropdown arrow. * @param className – The class to apply to the SVG. * @returns An SVG string for the dropdown arrow. */ private renderDropdownArrow; /** * Configures the auto-complete functionality using the accessible-autocomplete library. */ private configureAutoComplete; /** * Gets the rendered autocomplete text input, if present. */ private getVisibleInput; /** * Builds the hint/error ids to apply to aria-describedby. */ private buildDescribedByIds; /** * Updates aria-describedby on the visible input, preserving any non-managed ids. */ private applyDescribedBy; /** * Observes aria-describedby changes on the visible input to reapply managed ids. */ private observeDescribedBy; /** * Waits for the visible input to appear, then applies describedby and observers. */ private waitForInputAndApply; /** * Sets up the control subscription for value changes. * Whenever the control value changes, this method is called to handle the changes. * If the new value is null, it clears the autocomplete container and configures the autocomplete. */ private setupControlSub; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }