/** Compatibility face for DSH 0.2.1 native draft services. No send capability is exposed. */ export interface Snapshot { getSnapshot(): T; subscribe(listener: () => void): () => void; } export interface DraftInput { state: Snapshot<{ draft: string; draftRev: number; attachmentIds: readonly string[]; phase: string; }>; addAttachments(ids: readonly string[]): boolean; } export interface NativeDraft { id: string; kind: 'image' | 'file'; file: File; width?: number; height?: number; } export interface DraftConversation { input: { for(scope: unknown): DraftInput; }; createDrafts(id: string, files: readonly File[]): readonly NativeDraft[]; releaseDraftAttachments(drafts: readonly NativeDraft[]): void; fileUploads: Snapshot>; } export interface DraftSessions { list: Snapshot<{ current?: string; byId: Record; }>; create(options: { sessionId: string; workspaceId?: string; }): Promise; retain(id: string, options: { source: 'controllerOperation'; signal: AbortSignal; }): { ready: Promise; release(): void; }; open(id: string): void; scope(id: string): { get(key: string): unknown; } | undefined; binding(id: string): { session: { projections: { faceOf(key: string): Snapshot; }; }; } | undefined; } export interface DraftRequest { operationId: string; files: readonly File[]; signal: AbortSignal; progress?: (text: string) => void; } export interface HarnessDraftBridge { prepare(request: DraftRequest): Promise<{ sessionId: string; }>; dispose(): void; } export declare const HARNESS_ATTACHMENT_DRAFT_KEY = "__arkmeHarnessAttachmentDraft"; export type HarnessDraftWindow = Window & { [HARNESS_ATTACHMENT_DRAFT_KEY]?: HarnessDraftBridge; }; export declare function abortableDelay(signal: AbortSignal, ms?: number): Promise; /** Each operation owns a fresh identity, including retries after uncertain create responses. */ export declare function createHarnessDraftBridge(sessions: DraftSessions, isCurrentAccount: () => boolean, defaultWorkspace?: (sessionId?: string) => Promise): HarnessDraftBridge; //# sourceMappingURL=harness-attachment-draft.d.ts.map