/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
export interface IFloatingLabel {
    isFloating: boolean;
    float(float: boolean, alwaysFloat?: boolean): void;
    getWidth(): number;
    destroy(opts?: {
        cancelFloat?: boolean;
    }): void;
}
export declare class FloatingLabel implements IFloatingLabel {
    private _labelElement;
    private _foundation;
    constructor(_labelElement: HTMLLabelElement);
    /** Returns the current label floating state. */
    get isFloating(): boolean;
    destroy({ cancelFloat }?: {
        cancelFloat?: boolean | undefined;
    }): void;
    /**
     * Sets the floating state of the label element.
     * @param shouldFloat If true, sets the label to float, otherwise un-float.
     * @param alwaysFloat If true, sets the label to always float, defaults to: `false`.
     */
    float(shouldFloat: boolean, alwaysFloat?: boolean): void;
    /** Returns the scroll width of the label element. */
    getWidth(): number;
}
