import type { Config } from '../config/schema.js'; export type SessionResetMode = 'daily' | 'idle'; export type SessionResetType = 'direct' | 'group' | 'thread'; export type SessionResetConfig = NonNullable['reset']; export type SessionResetPolicy = { mode: SessionResetMode; atHour: number; idleMinutes?: number; configured?: boolean; }; export type SessionFreshness = { fresh: boolean; dailyResetAt?: number; idleExpiresAt?: number; }; export declare const DEFAULT_RESET_MODE: SessionResetMode; export declare const DEFAULT_RESET_AT_HOUR = 4; /** Default idle window when mode is `idle` and no explicit minutes are set. */ export declare const DEFAULT_IDLE_MINUTES = 0; export declare function resolveDailyResetAtMs(now: number, atHour: number): number; export declare function resolveSessionResetPolicy(params: { sessionCfg?: Config['session']; resetType: SessionResetType; resetOverride?: SessionResetConfig; }): SessionResetPolicy; export declare function evaluateSessionFreshness(params: { updatedAt: number; sessionStartedAt?: number; lastInteractionAt?: number; now: number; policy: SessionResetPolicy; }): SessionFreshness;