import { ControllerBase, type ControllerHost } from './Abstracts/ControllerBase';
/**
 * The config options for a OverflowController.
 */
export interface IOverflowControllerConfig {
    target: Element | string;
    callback: (overflow: boolean) => void;
}
/**
 * @public
 */
export declare class OverflowController extends ControllerBase {
    private readonly _callback?;
    private readonly _target?;
    private _resizeSubscription;
    constructor(host: ControllerHost, config?: IOverflowControllerConfig);
    /**
     * @public
     * @override
     */
    hostConnected(): void;
    /**
     * @public
     * @override
     */
    hostDisconnected(): void;
    /**
     * @private
     */
    private onResize;
    private isScrollable;
    private tryGetElement;
}
export declare function offsetPoint(self: HTMLElement): {
    x: number;
    y: number;
};
export declare function offsetPointRelativeTo(self: HTMLElement, parent: HTMLElement): {
    x: number;
    y: number;
};
export declare function offsetSize(self: HTMLElement): {
    width: number;
    height: number;
};
//# sourceMappingURL=OverflowController.d.ts.map