/**
 * useLogout Hook
 *
 * Provides a complete logout function that:
 * 1. Clears all client-side state (query cache, IndexedDB, sessionStorage)
 * 2. Navigates to GET /logout — Rails clears the session and redirects to the Hub
 */
export interface UseLogoutOptions {
    /** URL to redirect to after logout. Triggers a full page navigation. */
    redirectUrl?: string;
    /** Callback invoked after all state is cleared. Ignored when `redirectUrl` is set. */
    onLogout?: () => void;
}
/**
 * Hook that returns a `logout` function which clears the server session
 * via `DELETE /logout` and all cached/persisted client state.
 *
 * @example
 * ```tsx
 * const logout = useLogout({ redirectUrl: "/login" });
 * <button onClick={logout}>Log out</button>
 * ```
 *
 * @example
 * ```tsx
 * const logout = useLogout({
 *   onLogout: () => navigate("/signed-out"),
 * });
 * ```
 */
export declare function useLogout({ redirectUrl, onLogout }?: UseLogoutOptions): () => Promise<void>;
//# sourceMappingURL=use-logout.d.ts.map