export interface UseIdleLogoutOptions {
    enabled: boolean;
    timeoutMs: number;
    onIdle: () => void;
    /**
     * How long before the idle deadline to fire `onWarn` (so the UI can show a
     * "you're about to be signed out" prompt). Ignored unless `onWarn` is set
     * or when it doesn't fit inside `timeoutMs`.
     */
    warningMs?: number;
    /** Fired once when the session enters the warning window. */
    onWarn?: () => void;
    /** Fired when activity resumes after `onWarn` (dismiss the prompt). */
    onWarnCancelled?: () => void;
}
/**
 * Signs the user out after `timeoutMs` of no user activity, when enabled by
 * the Settings → Security "Idle auto-logout" policy. Optionally fires a
 * warning `warningMs` before the deadline so the UI can offer a
 * "Stay signed in" action (the returned `stayActive` resets the clock).
 *
 * Deliberately lightweight: activity events only stamp a ref (no state, no
 * re-renders), and a single coarse interval compares the last-activity stamp
 * against the deadline. Returning to a hidden tab re-checks immediately via
 * `visibilitychange`, so a tab left overnight logs out as soon as it's seen
 * (or at the next interval tick) rather than staying signed in.
 *
 * All listeners and the interval are torn down on unmount or when disabled.
 */
export declare function useIdleLogout(options: UseIdleLogoutOptions): {
    stayActive: () => void;
};
//# sourceMappingURL=useIdleLogout.d.ts.map