import { queryScreenMemoryContext } from "../mcp-client/screen-memory-local.js"; export interface ScreenMemoryChapter { id: string; /** In v2, chapter identity survives later semantic refinements. */ revision: number; aliases: string[]; startedAt: string; endedAt: string; durationMs: number; label: string; summary: string; keywords: string[]; accessibilitySummary: string; accessibilityKeywords: string[]; confidence: number; segmentRefs: Array<{ id: string; startedAt: string; endedAt: string; }>; sceneRefs: Array<{ id: string; startedAt?: string; endedAt?: string; }>; evidenceRefs: Array<{ sourceType: string; sourceKind?: string; segmentId?: string; offsetMs?: number; capturedAt?: string; keywords?: string[]; confidence?: number; }>; contexts: Array<{ appName?: string; windowTitle?: string; bundleId?: string; }>; representativeMoments: Array<{ momentId: string; capturedAt: string; segmentId: string; offsetMs: number; reason: string; }>; representativeCoverage?: string | { coveredScenes: number; totalScenes: number; truncated: boolean; }; ambiguityReasons: string[]; indexState: "pending" | "partial" | "ready"; } export interface ScreenMemoryChaptersDocument { schemaVersion: 1 | 2; generatedAt: string; state: string; coverage: unknown; chapters: ScreenMemoryChapter[]; } export interface ScreenMemoryFrameDecoder { (segmentPath: string, offsetMs: number): Buffer; } export interface RunScreenMemoryMCPStdioOptions { storeDir?: string; env?: NodeJS.ProcessEnv; /** Test seam; production uses the local ffmpeg executable. */ decodeFrame?: ScreenMemoryFrameDecoder; } /** Reads only the native, retention-bound chapter manifest; malformed rows never escape. */ export declare function readScreenMemoryChapters(storeDir: string): ScreenMemoryChaptersDocument | null; type MatchProvenance = { sourceType: string; sourceKind?: string; confidence?: number; matchedTerms: string[]; }; export declare function searchScreenMemoryChapters(document: ScreenMemoryChaptersDocument, query: string, limit?: number, clientHint?: string): Array; export declare function projectScreenMemoryChapterCandidate(chapter: ReturnType[number]): { id: string; revision: number; aliases: string[]; startedAt: string; endedAt: string; durationMs: number; label: string; summary: string; keywords: string[]; confidence: number; sceneCount: number; evidenceSources: string[]; contexts: { appName?: string; windowTitle?: string; bundleId?: string; }[]; representativeMoments: { momentId: string; capturedAt: string; reason: string; }[]; representativeCoverage: string | { coveredScenes: number; totalScenes: number; truncated: boolean; }; ambiguityReasons: string[]; indexState: "partial" | "pending" | "ready"; score: number; matchReasons: string[]; matchProvenance: MatchProvenance[]; }; export declare function readScreenMemoryFrame(storeDir: string, timestamp: string, decoder?: ScreenMemoryFrameDecoder): { timestamp: string; segmentId: string; image: { type: "image"; data: string; mimeType: string; }; }; export declare function selectContactSheetTimestamps(startAt: string, endAt: string, count: number, representative?: string[]): string[]; export declare function contactSheetRangeIsValid(durationMs: number, usesChapterMoments: boolean): boolean; export declare function redactCredentialText(value: string): string; export declare function appendLocalEvidenceReceipt(storeDir: string, operation: string, evidence: Array<{ timestamp: string; segmentId: string; }>): void; export declare function screenMemoryMcpToolDefinitions(): ({ name: string; description: string; inputSchema: { type: string; properties: { query?: undefined; minutes?: undefined; limit?: undefined; clientHint?: undefined; timestamp?: undefined; chapterId?: undefined; count?: undefined; startAt?: undefined; endAt?: undefined; reason?: undefined; includeMicrophone?: undefined; includeSystemAudio?: undefined; requestId?: undefined; }; required?: undefined; }; } | { name: string; description: string; inputSchema: { type: string; properties: { query: { type: string; description: string; }; minutes: { type: string; description: string; }; limit: { type: string; description: string; }; clientHint?: undefined; timestamp?: undefined; chapterId?: undefined; count?: undefined; startAt?: undefined; endAt?: undefined; reason?: undefined; includeMicrophone?: undefined; includeSystemAudio?: undefined; requestId?: undefined; }; required?: undefined; }; } | { name: string; description: string; inputSchema: { type: string; properties: { minutes: { type: string; description: string; }; query?: undefined; limit?: undefined; clientHint?: undefined; timestamp?: undefined; chapterId?: undefined; count?: undefined; startAt?: undefined; endAt?: undefined; reason?: undefined; includeMicrophone?: undefined; includeSystemAudio?: undefined; requestId?: undefined; }; required?: undefined; }; } | { name: string; description: string; inputSchema: { type: string; required: string[]; properties: { query: { type: string; description: string; }; minutes: { type: string; description: string; }; limit: { type: string; description: string; }; clientHint: { type: string; description: string; }; timestamp?: undefined; chapterId?: undefined; count?: undefined; startAt?: undefined; endAt?: undefined; reason?: undefined; includeMicrophone?: undefined; includeSystemAudio?: undefined; requestId?: undefined; }; }; } | { name: string; description: string; inputSchema: { type: string; required: string[]; properties: { query?: undefined; minutes?: undefined; limit?: undefined; clientHint?: undefined; timestamp: { type: string; description: string; }; reason: { type: string; description: string; }; chapterId?: undefined; count?: undefined; startAt?: undefined; endAt?: undefined; includeMicrophone?: undefined; includeSystemAudio?: undefined; requestId?: undefined; }; }; } | { name: string; description: string; inputSchema: { type: string; properties: { query?: undefined; minutes?: undefined; limit?: undefined; clientHint?: undefined; timestamp?: undefined; chapterId: { type: string; }; startAt: { type: string; description?: undefined; }; endAt: { type: string; description?: undefined; }; count: { type: string; description: string; }; reason: { type: string; description?: undefined; }; includeMicrophone?: undefined; includeSystemAudio?: undefined; requestId?: undefined; }; required?: undefined; }; } | { name: string; description: string; inputSchema: { type: string; required: string[]; properties: { query?: undefined; minutes?: undefined; limit?: undefined; clientHint?: undefined; timestamp?: undefined; chapterId?: undefined; count?: undefined; startAt: { type: string; description: string; }; endAt: { type: string; description: string; }; reason: { type: string; description: string; }; includeMicrophone: { type: string; }; includeSystemAudio: { type: string; }; requestId?: undefined; }; }; } | { name: string; description: string; inputSchema: { type: string; required: string[]; properties: { query?: undefined; minutes?: undefined; limit?: undefined; clientHint?: undefined; timestamp?: undefined; chapterId?: undefined; count?: undefined; startAt?: undefined; endAt?: undefined; reason?: undefined; includeMicrophone?: undefined; includeSystemAudio?: undefined; requestId: { type: string; }; }; }; })[]; export declare function queryScreenMemoryContextForStore(args: Parameters[0], storeDir: string, env: NodeJS.ProcessEnv): Promise; export declare function runScreenMemoryMCPStdio(opts?: RunScreenMemoryMCPStdioOptions): Promise; export {}; //# sourceMappingURL=screen-memory-stdio.d.ts.map