/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { FieldLabelPosition } from '../field';
import { BaseFieldFoundation, IBaseFieldFoundation } from '../field/base/base-field-foundation';
import { ITextFieldAdapter, TextFieldAdapter } from './text-field-adapter';
export interface ITextFieldFoundation extends IBaseFieldFoundation {
    readonly popoverTargetElement: HTMLElement;
    showClear: boolean;
}
export declare class TextFieldFoundation extends BaseFieldFoundation<ITextFieldAdapter> implements ITextFieldFoundation {
    protected _adapter: TextFieldAdapter;
    private _showClear;
    private _slotChangeListener;
    private _inputAttributeListener;
    private _valueChangeListener;
    private _inputListener;
    private _clearButtonClickListener;
    constructor(_adapter: TextFieldAdapter);
    initialize(): void;
    disconnect(): void;
    get popoverTargetElement(): HTMLElement;
    private _onSlotChange;
    private _onInputAttributeChange;
    private _onClearButtonClick;
    private _onValueChange;
    private _toggleClearButtonVisibility;
    get showClear(): boolean;
    set showClear(value: boolean);
    get disabled(): boolean;
    set disabled(value: boolean);
    get labelPosition(): FieldLabelPosition;
    set labelPosition(value: FieldLabelPosition);
}
