/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { BaseField, IBaseField } from '../field/base/base-field';
import { TextFieldFoundation } from './text-field-foundation';
export interface ITextFieldComponent extends IBaseField {
    showClear: boolean;
    readonly popoverTargetElement: HTMLElement;
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-text-field': ITextFieldComponent;
    }
}
/**
 * @tag forge-text-field
 *
 * @summary The Forge Text Field component wraps and styles an input or textarea element.
 *
 * @property {boolean} showClear - Whether the clear button appears when text has been entered.
 * @property {HTMLElement} popoverTargetElement - Gets a reference to the element that the popover should target for best alignment.
 *
 * @attribute {boolean} show-clear - Whether the clear button appears when text has been entered.
 *
 * @event {CustomEvent<null>} forge-text-field-clear - Dispatches when the clear button is clicked.
 *
 * @csspart root - The root container element.
 * @csspart label - The label element.
 * @csspart container - The container element surrounding the input.
 * @csspart input - The element containing te input slot.
 * @csspart start - The element containing the start slot.
 * @csspart end - The element containing the end slot.
 * @csspart popover-icon - The popover icon element.
 * @csspart accessory - The element containing the accessory slot.
 * @csspart support-text - The support text element.
 * @csspart support-text-start - The element containing the support text start slot.
 * @csspart support-text-end - The element containing the support text end slot.
 * @csspart focus-indicator - The focus indicator element.
 *
 * @slot - The default/unnamed slot for the field's input.
 * @slot label - Renders its content as a positioned label.
 * @slot start - Typically reserved for content/icons that render logically before the default slot content.
 * @slot end - Typically reserved content/icons that render logically after the default slot content.
 * @slot clear-button - Content slotted here replaces the default clear button.
 * @slot clear-button-tooltip - Sets the text content of the clear button's tooltip and accessible label.
 * @slot accessory - Used for content such as a button that is logically connected to the field but should appear distinct from the input.
 * @slot support-text-start - Used for content that provides additional information about the field. Aligns to the inline start of the field.
 * @slot support-text-end - Used for content that provides additional information about the field. Aligns to the inline end of the field.
 */
export declare class TextFieldComponent extends BaseField<TextFieldFoundation> implements ITextFieldComponent {
    static get observedAttributes(): string[];
    protected readonly _foundation: TextFieldFoundation;
    constructor();
    connectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    get popoverTargetElement(): HTMLElement;
    showClear: boolean;
}
