export type SsoSilentStatus = 'idle' | 'attempting' | 'exchanging' | 'success' | 'failed';
export interface UseSsoSilentOptions {
    /**
     * When true, the hook attempts ssoSilent() on mount. The `/sso` page sets this
     * to true; the optional button on `/login` triggers it manually via `trigger()`.
     */
    auto?: boolean;
    /** Called when the silent flow fails for any reason (network, interaction required, ...). */
    onFailure?: () => void;
    /** Called once the SmartStack session has been established. */
    onSuccess?: () => void;
}
/**
 * Hook driving the MSAL ssoSilent flow:
 *   1. Calls msalInstance.ssoSilent({ scopes }) to get an id_token from the
 *      browser's Microsoft session (no UI, transparent if already signed in).
 *   2. POSTs the id_token to /api/auth/sso/entra so the backend issues a
 *      SmartStack session (JWT + refresh via httpOnly cookies).
 *   3. Persists the user profile in localStorage and redirects to /myspace
 *      (or `?returnTo=` query param).
 *
 * Any error path (interaction required, blocked iframe, account not
 * provisioned, network) collapses silently into `status === 'failed'` and
 * triggers `onFailure`, which the caller uses to redirect to /login.
 */
export declare function useSsoSilent(options?: UseSsoSilentOptions): {
    status: SsoSilentStatus;
    trigger: () => Promise<void>;
};
//# sourceMappingURL=useSsoSilent.d.ts.map