export interface AuthVisibilityState {
    /**
     * True if auth UI should be completely hidden (not initialized or not available)
     */
    shouldHide: boolean;
    /**
     * True if auth is in loading state (but UI should still be visible with spinner)
     */
    isLoading: boolean;
    /**
     * True if auth is initialized and available (ready to show UI)
     */
    isReady: boolean;
    /**
     * True if user is authenticated
     */
    isAuthenticated: boolean;
}
/**
 * Hook to determine auth UI visibility and loading states
 *
 * **Visibility Rules:**
 * - Hide if `status !== 'ready' || !isAvailable` (not ready or not installed)
 * - Show with loading if `status === 'initializing'` during operations
 * - Show normal UI when `status === 'ready' && isAvailable`
 *
 * @returns AuthVisibilityState with visibility flags
 *
 * @example
 * ```typescript
 * const { shouldHide, isLoading, isReady, isAuthenticated } = useAuthVisibility();
 *
 * if (shouldHide) return null;
 *
 * if (isLoading) {
 *   return <Button disabled><Spinner /></Button>;
 * }
 *
 * if (isAuthenticated) {
 *   return <UserMenu />;
 * }
 *
 * return <SignInButton />;
 * ```
 */
export declare function useAuthVisibility(): AuthVisibilityState;
//# sourceMappingURL=useAuthVisibility.d.ts.map