export interface SessionWarningProps {
    /**
     * Whether the warning overlay should be shown.
     */
    isOpen: boolean;
    /**
     * Callback when user clicks "login now" button.
     */
    onLoginNow: () => void;
    /**
     * Callback when user dismisses the warning temporarily.
     */
    onDismiss: () => void;
    /**
     * Whether the login action is in progress.
     */
    isLoading?: boolean;
    /**
     * Warning messages to display.
     */
    messages: {
        title: string;
        description: string;
        tip?: string;
        loginButton: string;
        dismissButton: string;
    };
}
/**
 * SessionWarning displays a full-screen overlay warning users about
 * session expiration, giving them time to save their work.
 *
 * This is a pure presentational component. The parent component is
 * responsible for managing state and handling user actions.
 *
 * @example
 * ```tsx
 * <SessionWarning
 *   isOpen={isExpired}
 *   onLoginNow={() => router.refresh()}
 *   onDismiss={() => setWarning(null)}
 *   messages={{
 *     title: t('title.expired'),
 *     description: t('description.expired'),
 *     tip: t('tip'),
 *     loginButton: t('login'),
 *     dismissButton: t('dismiss'),
 *   }}
 * />
 * ```
 */
export declare function SessionWarning({ isOpen, onLoginNow, onDismiss, isLoading, messages, }: Readonly<SessionWarningProps>): import("react").JSX.Element | null;
//# sourceMappingURL=SessionWarning.d.ts.map