/**
 *
 * @param {Element} el
 * @param {number} depth
 * @param {AABB2} aabb
 */
export function resizeAABB2ToFitBoundingClientRect(el: Element, depth: number, aabb: AABB2): void;
/**
 * Size observer of a DOM element
 */
export class DomSizeObserver {
    /**
     *
     * @param {number} [depth=0] how deep should the observation go
     */
    constructor({ depth }?: number);
    /**
     *
     * @type {Rectangle}
     */
    dimensions: Rectangle;
    /**
     *
     * @type {number}
     * @private
     */
    private __depth;
    /**
     *
     * @type {HTMLElement}
     */
    element: HTMLElement;
    /**
     * @private
     * @type {boolean}
     */
    private running;
    /**
     *
     * @type {ResizeObserver}
     * @private
     */
    private __dom_resize_observer;
    /**
     *
     * @param {ResizeObserverEntry[]} entries
     * @param {ResizeObserver} observer
     * @private
     */
    private __dom_resize_observer_callback;
    synchronize(): void;
    start(): void;
    /**
     *
     * @param {Element} element
     */
    attach(element: Element): void;
    stop(): void;
    /**
     * Will attach to the view's element and automatically start/stop observing when the view is linked/unlinked
     * @param {View} view
     */
    watchView(view: View): void;
    /**
     * Counterpart to {@link #watchView}
     * @param {View} view
     */
    unwatchView(view: View): void;
}
import AABB2 from "../../core/geom/2d/aabb/AABB2.js";
import Rectangle from "../../core/geom/2d/Rectangle.js";
//# sourceMappingURL=DomSizeObserver.d.ts.map