import { Observer, SubscriptionOptions } from "../../utils/observable";
export type CanvasUpdateObserver = (rect: DOMRect) => void;
export declare class CanvasPositionDimensionPublisher {
    private lastRect;
    private resizeObserver;
    private intersectionObserver;
    private scrollHandler;
    private resizeHandler;
    private _observers;
    constructor(canvas: HTMLCanvasElement);
    dispose(): void;
    attach(canvas: HTMLCanvasElement): void;
    private publishPositionUpdate;
    onPositionUpdate(observer: Observer<[DOMRect]>, options?: SubscriptionOptions): void;
}
export declare function getTrueRect(rect: DOMRect, computedStyle: CSSStyleDeclaration): DOMRect;
