/**
 * @spfn/auth - Global Configuration
 *
 * Manages global auth configuration including session TTL
 */
/**
 * Cookie names used by SPFN Auth
 */
declare const COOKIE_NAMES: {
    /** Encrypted session data (userId, privateKey, keyId, algorithm) */
    readonly SESSION: "spfn_session";
    /** Current key ID (for key rotation) */
    readonly SESSION_KEY_ID: "spfn_session_key_id";
};
/**
 * Parse duration string to seconds
 *
 * Supports: '30d', '12h', '45m', '3600s', or plain number
 *
 * @example
 * parseDuration('30d')   // 2592000 (30 days in seconds)
 * parseDuration('12h')   // 43200
 * parseDuration('45m')   // 2700
 * parseDuration('3600')  // 3600
 */
declare function parseDuration(duration: string | number): number;
/**
 * Auth configuration
 */
interface AuthConfig {
    /**
     * Default session TTL in seconds or duration string
     *
     * Supports:
     * - Number: seconds (e.g., 2592000)
     * - String: '30d', '12h', '45m', '3600s'
     *
     * @default 7d (7 days)
     */
    sessionTtl?: string | number;
}
/**
 * Configure global auth settings
 *
 * @param config - Auth configuration
 *
 * @example
 * ```typescript
 * configureAuth({
 *   sessionTtl: '30d',  // 30 days
 * });
 * ```
 */
declare function configureAuth(config: AuthConfig): void;
/**
 * Get current auth configuration
 */
declare function getAuthConfig(): AuthConfig;
/**
 * Get session TTL in seconds
 *
 * Priority:
 * 1. Runtime override (remember parameter)
 * 2. Global config (configureAuth)
 * 3. Environment variable (SPFN_AUTH_SESSION_TTL)
 * 4. Default (7 days)
 */
declare function getSessionTtl(override?: string | number): number;

export { type AuthConfig, COOKIE_NAMES, configureAuth, getAuthConfig, getSessionTtl, parseDuration };
