/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';
import { TextFieldComponentDelegate } from '../text-field';
import { IAutocompleteComponent } from './autocomplete';
import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';
import { ITextFieldComponentDelegateConfig } from '../text-field/text-field-component-delegate';
export declare type AutocompleteComponentDelegateProps = Partial<IAutocompleteComponent>;
export interface IAutocompleteComponentDelegateOptions extends IFormFieldComponentDelegateOptions {
    useDropdownIcon?: boolean;
    textFieldDelegateConfig?: ITextFieldComponentDelegateConfig;
}
export interface IAutocompleteComponentDelegateConfig extends IBaseComponentDelegateConfig<IAutocompleteComponent, IAutocompleteComponentDelegateOptions> {
}
export declare class AutocompleteComponentDelegate extends FormFieldComponentDelegate<IAutocompleteComponent, IAutocompleteComponentDelegateOptions> {
    private _textFieldDelegate;
    constructor(config?: IAutocompleteComponentDelegateConfig);
    protected _build(): IAutocompleteComponent;
    get textFieldDelegate(): TextFieldComponentDelegate;
    get value(): any;
    set value(value: any);
    get disabled(): boolean;
    set disabled(value: boolean);
    get invalid(): boolean;
    set invalid(value: boolean);
    onChange(listener: (value: string) => void): void;
    onFocus(listener: (evt: FocusEvent) => void): void;
    onBlur(listener: (evt: FocusEvent) => void): void;
    private _attachTextField;
    private _createDropdownIconElement;
}
