import { type Behavior, type CaptureType } from '@ni/fast-element';
/**
 * The runtime behavior for template overflow detection.
 * @public
 */
export declare class OverflowBehavior implements Behavior {
    private readonly target;
    private propertyName;
    private mouseOverHandler;
    private mouseOutHandler;
    private source;
    /**
     * Creates an instance of OverflowBehavior.
     * @param target - The element to check for overflow.
     * @param propertyName - The name of the property to assign the overflow state to.
     */
    constructor(target: HTMLElement, propertyName: string);
    /**
     * Bind this behavior to the source.
     * @param source - The source to bind to.
     * @param context - The execution context that the binding is operating within.
     */
    bind(source: unknown): void;
    /**
     * Unbinds this behavior from the source.
     * @param source - The source to unbind from.
     */
    unbind(): void;
    private setSourceValue;
}
/**
 * A directive that observes if an element has overflow and sets a flag.
 * @param propertyName - The name of the property to assign the overflow flag.
 * @public
 */
export declare function overflow<T = unknown>(propertyName: keyof T & string): CaptureType<T>;
