export type TaskCollaborationKind = 'progress' | 'question' | 'answer' | 'instruction' | 'ack' | 'result' | 'failure'; export type TaskCollaborationAuthor = 'main_agent' | 'worker_agent' | 'user' | 'system'; export interface TaskCollaborationEntry { id: string; taskId: string; taskRunId?: string; assignmentEpoch?: number; sequence: number; authorKind: TaskCollaborationAuthor; authorId: string; kind: TaskCollaborationKind; body: string; causationId?: string; createdAt: number; deliveryStatus?: 'pending' | 'delivered' | 'confirmed' | 'stale'; } export declare class TaskCollaborationRepository { list(taskId: string, afterSequence?: number, limit?: number): TaskCollaborationEntry[]; recent(taskId: string, beforeSequence?: number, limit?: number): TaskCollaborationEntry[]; get(entryId: string): TaskCollaborationEntry | undefined; latest(taskId: string): TaskCollaborationEntry | undefined; append(input: { taskId: string; taskRunId?: string; authorKind: TaskCollaborationAuthor; authorId: string; kind: TaskCollaborationKind; body: string; causationId?: string; idempotencyKey: string; deliverToWorker?: boolean; }): TaskCollaborationEntry; pendingDeliveries(limit?: number): Array<{ entry: TaskCollaborationEntry; clientMessageId: string; }>; pendingMainUpdates(limit?: number): Array<{ entry: TaskCollaborationEntry; conversationId: string; decision?: 'notify' | 'silent'; decisionReason?: string; }>; decideMainUpdate(entryId: string, decision: 'notify' | 'silent', reason: string): void; hasNewerMainUpdate(taskId: string, sequence: number): boolean; hasSubmittedMainUpdate(entryId: string): boolean; markMainUpdateDelivered(entryId: string): void; deferMainUpdate(entryId: string, delayMs?: number): void; markDelivered(entryId: string, conversationId: string, assignmentEpoch: number): void; markConfirmed(entryId: string): void; markStale(entryId: string): void; defer(entryId: string): void; }