import type { ImageAttachmentRef } from '@deepseek-ai/dsh-attachment'; import type { SessionId } from '@deepseek-ai/dsh-session'; declare const callIdBrand: unique symbol; /** Opaque browser-visible identity for one recorded vision call. */ export type CallId = string & { readonly [callIdBrand]: true; }; /** Brand a validated call id. */ export declare function CallId(value: string): CallId; interface VisionCallBase { id: CallId; sessionId: SessionId; createdAt: number; durationMs: number; origin: 'message' | 'tool' | 'tool-result'; backendId: string; model: string; prompt: string; attachment: ImageAttachmentRef; } /** One successful external image-analysis request. */ export interface VisionCallSuccess extends VisionCallBase { status: 'success'; title: string; result: string; } /** One failed external image-analysis request. */ export interface VisionCallFailure extends VisionCallBase { status: 'error'; error: string; } /** Persisted sidebar row for one actual backend request. */ export type VisionCallRecord = VisionCallSuccess | VisionCallFailure; /** Session-isolated JSONL persistence for sidebar call records. */ export declare class CallHistory { private readonly root; private readonly queues; constructor(root: string); /** Append one complete call after its backend request settles. */ append(record: VisionCallRecord): Promise; /** Return one session's records newest first after pending appends settle. */ list(sessionId: SessionId): Promise; /** Resolve a call only within its owning session. */ get(sessionId: SessionId, id: CallId): Promise; } export {}; //# sourceMappingURL=history.d.ts.map