import { type DurableHistoryFaultBoundary } from "../storage/durable-history.js"; import type { HarneryConversationAccessMode, HarneryConversationArchiveAuthorityMode, HarneryConversationProvider, HarneryConversationRecordV1, HarneryConversationSourceSnapshot } from "./contract.js"; export declare const HARNERY_CONVERSATION_MANIFEST_SCHEMA: "harnery.conversation-manifest/v1"; export interface HarneryConversationArchiveManifest { schema: typeof HARNERY_CONVERSATION_MANIFEST_SCHEMA; policy_version: "conversation-archive-v1"; provider_id: string; project_scope_id: string; conversation_id: string; source_snapshot_id: string; completeness: HarneryConversationSourceSnapshot["completeness"]; omissions: readonly string[]; record_count: number; logical_bytes: number; first_occurred_at?: string; last_occurred_at?: string; record_set_digest: `sha256:${string}`; authority_mode: HarneryConversationArchiveAuthorityMode; updated_at: string; } export interface CaptureConversationOptions { coord_root: string; project_scope_id: string; conversation_id: string; access_mode: HarneryConversationAccessMode; authority_mode: HarneryConversationArchiveAuthorityMode; now?: () => Date; fault?: (boundary: DurableHistoryFaultBoundary | "after_record_append" | "before_manifest_publish" | "after_manifest_publish") => void; } export interface CaptureConversationResult { state: "disabled" | "source-only" | "captured"; accepted: number; duplicates: number; omissions: readonly string[]; manifest?: HarneryConversationArchiveManifest; } export declare function captureProviderConversation(provider: HarneryConversationProvider, options: CaptureConversationOptions): Promise; export declare function readConversationArchive(objectDirOrCoordRoot: string, providerId?: string, conversationId?: string): HarneryConversationRecordV1[]; export declare function reconcileConversationArchive(input: { coord_root: string; provider_id: string; conversation_id: string; snapshot: HarneryConversationSourceSnapshot; authority_mode: HarneryConversationArchiveAuthorityMode; now: Date; }): HarneryConversationArchiveManifest; export declare function loadConversationManifest(coordRoot: string, providerId: string, conversationId: string): HarneryConversationArchiveManifest | undefined; export declare function conversationArchiveDir(coordRoot: string, providerId: string, conversationId: string): string; //# sourceMappingURL=archive.d.ts.map