interface KeepAliveOptions {
    targetSelector: string;
    onDisappear: (element: HTMLElement | null) => void;
    maxAttempts?: number;
    checkInterval?: number;
}
export declare class KeepAlive {
    private targetSelector;
    private onDisappear;
    private maxAttempts;
    private checkInterval;
    private attempts;
    private observer;
    private intervalId;
    private originalHTML;
    private originalElement;
    /**
     * Creates a KeepAlive instance
     *
     * @param options Configuration options
     * @param options.targetSelector CSS selector for the target element to watch
     * @param options.onDisappear Callback to execute when target disappears
     * @param options.maxAttempts Maximum number of recovery attempts (default: 10)
     * @param options.checkInterval Interval in ms to check element visibility (default: 500)
     */
    constructor(options: KeepAliveOptions);
    /**
     * Starts monitoring the target element
     * This combines both mutation observation and interval checking
     */
    start(): void;
    /**
     * Stops all monitoring
     */
    stop(): void;
    /**
     * Set up mutation observer to detect DOM changes, scoped to the parent of the target element.
     */
    private setupMutationObserver;
    /**
     * Start interval checking as a backup mechanism after several consecutive failed checks
     */
    private startIntervalCheck;
    /**
     * Handle when element disappears
     */
    private handleDisappearance;
}
export default KeepAlive;
