import type { ConversationTurn, SessionSnapshot } from "./types.js"; export declare const SESSION_TRANSPORT_OUTPUT_LIMIT = 200000; type SessionBaseDTO = Omit & { /** Canonical server-resolved title. Clients must not invent their own fallback. */ title: string; /** Alias of claudeSessionId; that field stores every provider's native resume id. */ providerSessionId?: string | null; }; export interface SessionListItemDTO extends SessionBaseDTO { /** Kept for compatibility with clients that initialize terminal state from the list. */ output: ""; } export interface SessionDetailDTO extends SessionBaseDTO { wandProtocolVersion: number; output: string; outputOffset: number; outputTotal: number; outputTruncated: boolean; messages?: ConversationTurn[]; messageOffset?: number; messageTotal?: number; leadingBlockOffset?: number; leadingBlockTotal?: number; } /** Resolve every client-visible title on the server so all clients show the same value. */ export declare function resolveSessionDisplayTitle(snapshot: SessionSnapshot, blockedTitles?: readonly string[]): string; export declare function toSessionListItemDTO(snapshot: SessionSnapshot): SessionListItemDTO; export interface SessionDetailDTOOptions { output?: string; messages?: ConversationTurn[]; messageOffset?: number; messageTotal?: number; leadingBlockOffset?: number; leadingBlockTotal?: number; outputLimit?: number; } export declare function toSessionDetailDTO(snapshot: SessionSnapshot, options?: SessionDetailDTOOptions): SessionDetailDTO; /** Bound snapshot-like event payloads before they enter per-client WS queues. */ export declare function boundSessionEventData(data: unknown, outputLimit?: number): unknown; export {};