/**
 * SSO session management: token persistence strategies.
 * - `localStorageTokenStorage`: single-origin, suitable for dev.
 * - `serverCookieTokenStorage`: HttpOnly cookie-based, for production SSO.
 * - `createAxiosAuthInterceptors`: attaches withCredentials + 401 handling to an axios instance.
 */
import type { AxiosAuthInterceptorInstance, TokenStorageStrategy } from '../types';
export type { AxiosAuthInterceptorInstance, AxiosRequestConfig, TokenStorageStrategy, } from '../types';
/**
 * Token storage using localStorage (single-origin).
 * Suitable for dev or when all Docthub apps share the same origin.
 */
export declare function localStorageTokenStorage(): TokenStorageStrategy;
/**
 * Token storage when the token lives in a server-set cookie (e.g. HttpOnly).
 * The client never reads or writes the token; the server sets the cookie on
 * login and reads it from the request. Use with validateSessionFromCookie
 * in your adapter and createAxiosAuthInterceptors (withCredentials) so the
 * cookie is sent on every request.
 */
export declare function serverCookieTokenStorage(): TokenStorageStrategy;
/**
 * Attaches request and response interceptors to an axios instance for SSO auth
 * when using server-side cookies (e.g. serverCookieTokenStorage):
 * - Request: sets withCredentials so the browser sends cookies on every request.
 * - Response: on 401, calls onUnauthorized (e.g. redirect to login).
 *
 * @param axiosInstance - Your axios instance (e.g. axios.create({ baseURL: '...' }))
 * @param onUnauthorized - Optional callback when a response has status 401
 */
export declare function createAxiosAuthInterceptors(axiosInstance: AxiosAuthInterceptorInstance, onUnauthorized?: () => void): void;
/**
 * useAuthSession hook is implemented in auth-context (uses AuthFlowContext).
 * Re-exported from core index for consumer convenience.
 */
