import type { DomSnapshot, SessionInfo, Message } from "../shared/types.js"; export interface SessionConfig { id: string; userId?: string; maxAuditEntries?: number; maxMessages?: number; } export declare class Session { readonly id: string; readonly userId?: string; readonly createdAt: number; private lastActivity; private snapshot; private isViewing; private auditLog; private maxAuditEntries; private messageHistory; private maxMessages; constructor(config: SessionConfig); touch(): void; updateSnapshot(snapshot: DomSnapshot): void; getSnapshot(): DomSnapshot | null; setViewing(viewing: boolean): void; isExpired(ttlMs: number): boolean; validateSelector(selector: string): boolean; findElements(predicate: (el: DomSnapshot["elements"][0]) => boolean): DomSnapshot["elements"]; addAuditEntry(entry: Omit): void; getAuditLog(): AuditEntry[]; getInfo(): SessionInfo; getMessages(agentId: string): Message[]; addMessages(agentId: string, messages: Message[]): void; clearMessages(agentId?: string): void; } export interface AuditEntry { id: string; timestamp: number; action: string; data?: Record; success: boolean; } //# sourceMappingURL=session.d.ts.map