/**
 * @module ttl
 * @description Smart TTL (Time-To-Live) management for form sessions
 *
 * Effort-based TTL: the more time a user spends on a form, the longer we keep it.
 */
import type { FormDefinition, FormSession } from "./types.ts";
/**
 * Calculate TTL based on user effort.
 *
 * @param session - Current session with effort tracking
 * @param form - Form definition with TTL configuration
 * @returns Expiration timestamp (milliseconds since epoch)
 */
export declare function calculateTTL(session: FormSession, form?: FormDefinition): number;
/**
 * Check if session should be nudged.
 */
export declare function shouldNudge(session: FormSession, form?: FormDefinition): boolean;
/**
 * Check if session is expiring soon.
 */
export declare function isExpiringSoon(session: FormSession, withinMs: number): boolean;
/**
 * Check if session has expired.
 */
export declare function isExpired(session: FormSession): boolean;
/**
 * Check if we should confirm before canceling.
 */
export declare function shouldConfirmCancel(session: FormSession): boolean;
/**
 * Format remaining time for user display.
 */
export declare function formatTimeRemaining(session: FormSession): string;
/**
 * Format effort for user display.
 */
export declare function formatEffort(session: FormSession): string;
//# sourceMappingURL=ttl.d.ts.map