export declare class VisibilityObserver {
    private callback;
    private targetElement?;
    private mutationObservers;
    constructor(callback: (visible: boolean) => void | Promise<void>);
    isVisible(element: HTMLElement): boolean;
    observe(element: HTMLElement): void;
    unobserve(): void;
    disconnect(): void;
    private watchElementVisibility;
    private handleVisibilityChange;
    private emitVisibilityChange;
}
