import { ShadowEvent } from '../types';
export declare class OverflowShadowsObserver {
    private tableIntersectionObserver?;
    private updateShadowState;
    private table;
    private wrapper;
    private leftShadowSentinel;
    private rightShadowSentinel;
    private shadowsObserved;
    private isSticky;
    private stickyRowHeight;
    constructor(updateShadowState: (shadowKey: ShadowEvent, value: boolean) => void, table: HTMLElement, wrapper: HTMLDivElement);
    private init;
    private updateStickyShadowsHeightIfChanged;
    private getStickyCell;
    observeShadowSentinels: (isSticky?: boolean) => void;
    /**
     * Takes a heightStyle if it can be computed in a less expensive manner,
     * e.g. bounds on an IntersectionObserverEntry, otherwise proceed with
     * reading it from sticky cell
     */
    updateStickyShadows: ((stickyRowHeight?: number) => void) & {
        cancel(): void;
    };
    dispose(): void;
}
