export interface VisibilityManagerOptions {
    host: HTMLElement;
    target: HTMLElement | null;
    enableVisibilityEffect?: boolean;
    enableTabClose?: boolean;
    onAnchorOutOfView?: (root?: Element | Document | null) => void;
    onDocumentHidden?: () => void;
    emit?: (event: string, detail?: Record<string, any>) => void;
    isOpen?: () => boolean;
}
export declare class VisibilityManager {
    private observers;
    private options;
    private handleVisibilityChange;
    private rootVisibility;
    private hasEmittedOutOfView;
    constructor(options: VisibilityManagerOptions);
    setup(): void;
    cleanup(): void;
    private onDocumentVisibilityChange;
    private getScrollableAncestors;
}
