import { ToolPermissionContext } from '../constraint/permission.js'; import { BudgetTracker } from '../constraint/budget.js'; export interface RuntimeSession { sessionId: string; messages: string[]; context: Record; turnCount: number; } export declare class Session implements RuntimeSession { sessionId: string; messages: string[]; context: Record; turnCount: number; permissionContext: ToolPermissionContext; budget: BudgetTracker; constructor(sessionId: string, messages?: string[], context?: Record, turnCount?: number, permissionContext?: ToolPermissionContext, budget?: BudgetTracker); addMessage(msg: string): void; get history(): string[]; clear(): void; setContext(key: string, value: unknown): void; getContext(key: string): unknown; }