/// <reference types="lodash" />
import { WixPatternsContainer } from '@wix/bex-core';
export interface Rect {
    bottom: number;
    height: number;
    left: number;
    right: number;
    top: number;
    width: number;
}
export interface EmptyRect {
    bottom: undefined;
    height: undefined;
    left: undefined;
    right: undefined;
    top: undefined;
    width: undefined;
}
export declare const emptyRect: () => {
    bottom: undefined;
    height: undefined;
    left: undefined;
    right: undefined;
    top: undefined;
    width: undefined;
};
export interface RectStateParams {
    container: WixPatternsContainer;
}
export declare class RectState {
    readonly _syncThrottled: import("lodash").DebouncedFuncLeading<() => void>;
    readonly _syncDebounced: () => number;
    readonly container: WixPatternsContainer;
    element?: Element | null | undefined;
    readonly rect: Rect | EmptyRect;
    constructor(params: RectStateParams);
    _readRect(): {
        height?: undefined;
        width?: undefined;
        top?: undefined;
        bottom?: undefined;
        right?: undefined;
        left?: undefined;
        y?: undefined;
        x?: undefined;
    } | {
        height: number;
        width: number;
        top: number;
        bottom: number;
        right: number;
        left: number;
        y: number;
        x: number;
    };
    _sync(): void;
    init({ scrollElement }?: {
        scrollElement?: Element | null;
    }): (() => void) | undefined;
}
//# sourceMappingURL=RectState.d.ts.map