import type { Attachment } from "./attachmentSchemas.js"; export interface AttachmentScope { projectId: string; sessionId: string; workspaceId?: string; } /** * Pending attachment intent for one agent run. * * The agent loop takes this list only after a normal terminal response and * discards it on every incomplete end state. */ export declare class AttachmentContext { #private; constructor(options?: { idFactory?: () => string; scope?: AttachmentScope; }); add(source: string, prepare: (id: string) => Promise): Promise; remove(id: string): boolean; registerCleanup(id: string, cleanup: () => void | Promise): void; pending(): readonly Attachment[]; scope(): AttachmentScope | undefined; takePending(): readonly Attachment[]; discard(): void; }