/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
export declare const ARIA_CONTROLS_PLACEHOLDER_ID = "forge-aria-controls-placeholder";
/**
 * Highlights text in the given label by converting it to HTML and using a `<span>` tag to show the highlighted text within the original label.
 * @param label The full text.
 * @param highlightText The text to highlight.
 */
export declare function highlightTextHTML(label: string, highlightText: string): HTMLElement | undefined;
/**
 * Awaits user interaction on an element in the form of `pointerenter` or `focusin` to let a listener know
 * when the user has attempted to interact with the provided element.
 *
 * The listeners are only called once, and the other is removed after one of the listeners is called.
 * @param element The element to listen to.
 * @param capture Whether to use capturing listeners or not.
 * @returns A `Promise` that will be resolved when either of the listeners has executed.
 */
export declare function createUserInteractionListener(element: HTMLElement, { capture, pointerenter, focusin }?: {
    capture?: boolean | undefined;
    pointerenter?: boolean | undefined;
    focusin?: boolean | undefined;
}): {
    userInteraction: Promise<Event>;
    destroy: () => void;
};
/**
 * Converts a percent value to pixels.
 * @param amount A percent value.
 * @param containerSize The size of the parent element along the relevant axis.
 * @returns A pixel value.
 */
export declare function percentToPixels(amount: number, containerSize: number): number;
/**
 * Converts a pixel value to a percentage.
 * @param amount A pixel value.
 * @param containerSize The size of the parent element along the relevant axis.
 * @returns A percent value.
 */
export declare function pixelsToPercent(amount: number, containerSize: number): number;
/**
 * Scales a value from one range to another.
 * @param value The original number value.
 * @param fromMin The lower bound of the input range.
 * @param fromMax The upper bound of the input range.
 * @param toMin The lower bound of the output range (defaults to 0).
 * @param toMax The lower bound of the output range (defaults to 100).
 * @returns A value mapped to the output range.
 */
export declare function scaleValue(value: number, fromMin: number, fromMax: number, toMin?: number, toMax?: number): number;
/**
 * Returns the min of a set of numbers where some values may be undefined.
 * @param args `number` or `undefined` values to compare.
 * @returns The min value or `Number.POSITIVE_INFINITY` if all values are `undefined`.
 */
export declare function safeMin(...args: (number | undefined)[]): number;
/**
 * Returns the max of a set of numbers where some values may be undefined.
 * @param args `number` or `undefined` values to compare.
 * @returns The max value or `Number.NEGATIVE_INFINITY` if all values are `undefined`.
 */
export declare function safeMax(...args: (number | undefined)[]): number;
/**
 * Creates a div as a temporary aria-controls placeholder for various components that use a dynamic popup.
 */
export declare function tryCreateAriaControlsPlaceholder(): void;
/**
 * Sets the aria-controls attribute of an element to the placeholder div
 */
export declare function setAriaControls(component: HTMLElement): void;
