/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { BaseComponent, IBaseComponent } from '../core';
export interface ILabelComponent extends IBaseComponent {
    for: string | null | undefined;
    forElement: HTMLElement | null | undefined;
    dynamic: boolean;
    nonInteractive: boolean;
    legend: boolean;
    update(): void;
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-label': ILabelComponent;
    }
}
/**
 * @tag forge-label
 *
 * @summary The Forge Label component is used to associate a text label with a compatible Forge
 * component.
 *
 * @property {string | null | undefined} for - The id of the associated element.
 * @property {HTMLElement | null | undefined} forElement - The associated element.
 * @property {HTMLElement | null | undefined} clickTarget - The element that a click should be simulated on. If not defined clicks act on the associated element.
 * @property {boolean} dynamic - Propagates changes in the label's text content to the associated element.
 * @property {boolean} nonInteractive - Removes click handling from the label.
 * @property {boolean} legend - Whether or not the label should be associated with an ancestor element.
 *
 * @attribute {string} for - The id of the associated form component.
 * @attribute {boolean} dynamic - Propagates changes in the label's text content to the associated element.
 * @attribute {boolean} non-interactive - Removes click handling from the label.
 * @attribute {boolean} legend - Whether or not the label should be associated with an ancestor element.
 *
 * @method update - Updates the targetted element with the label's current text content.
 *
 * @csspart label - Styles the label's root element.
 */
export declare class LabelComponent extends BaseComponent implements ILabelComponent {
    static get observedAttributes(): string[];
    private _foundation;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    for: string | null | undefined;
    forElement: HTMLElement | null | undefined;
    clickTarget: HTMLElement | null | undefined;
    dynamic: boolean;
    nonInteractive: boolean;
    legend: boolean;
    /**
     * Updates the targetted element with the label's current text content.
     */
    update(): void;
}
