import type { TranscriptContentItem, TranscriptLine } from "../types.js"; export declare const SUBAGENT_PREFIX = "sand-subagent-"; /** Host prependOverviewMetadataLine / getTranscriptTerminalMarkers. */ export declare const TRANSCRIPT_NON_MESSAGE_TYPES: readonly ["metadata", "turn_ended"]; export type ReadTranscriptOptions = { sandRoot?: string; /** Skip sand-subagent-* folders. Default true. */ skipSubagents?: boolean; /** Keep only the last N parsed lines. */ tail?: number; /** * Called per line. Return false to stop. * Do not log `line.message` bodies. */ onLine?: (line: TranscriptLine, index: number) => boolean | void; }; export declare function isTranscriptNonMessage(value: unknown): boolean; /** * Host journal envelope: `{ role, message: { content } }`. * `content` is an array on disk; a string is accepted and normalized. */ export declare function isLegacyTranscriptEnvelope(value: unknown): value is { role: string; message: { content: unknown; [key: string]: unknown; }; }; export declare function parseLegacyTranscriptLine(value: unknown): TranscriptLine | null; /** Host formatSingleMessageJsonl serialize shape. */ export declare function formatLegacyTranscriptLine(role: string, content: TranscriptContentItem[]): string; export declare function readTranscript(agentId: string, options?: ReadTranscriptOptions): Promise; export type TranscriptIndexEntry = { agentId: string; path: string; bytes: number; isSubagent: boolean; }; export declare function listTranscriptFiles(sandRoot?: string, options?: { skipSubagents?: boolean; }): TranscriptIndexEntry[]; export declare function summarizeContent(content: TranscriptContentItem[]): { texts: number; toolUses: string[]; toolResults: string[]; other: number; }; //# sourceMappingURL=transcripts.d.ts.map