export type UserVisibilyCallback = ({ isVisible }: { isVisible: boolean; }) => void; export interface UserVisibilyStrictOptions { /** * Watch immediately * @default true */ immediate: boolean; /** * Timeout visibility in ms * @default 5000 // 5 sec */ timeout: number; /** * Watch once * @default false */ once: boolean; } export type UserVisibilyOptions = Partial; export declare class UserVisibility { private readonly callback; private eventHandlerFunction; private event; private timeoutHandler?; private options; private readonly defaultOptions; private isVisible; constructor(callback: UserVisibilyCallback, options?: UserVisibilyOptions); start(): void; private emitCallback; private eventHandler; private clearTimeout; private initTimeout; private addEventListener; private removeEventListener; destroy(): void; }