import type { FileTransfers } from './file-transfers.js'; import type { TeamAppOperation } from '../team-app-contract.js'; import { type TeamSendInput, type TeamSendTask } from '../team-send-contract.js'; interface Ports { currentUser(): Promise; files(): FileTransfers; identify(ref: string, userId: number): Promise; identifyReply(conversationRef: string, messageRef: string, userId: number): Promise; execute(operation: TeamAppOperation, params: Record, signal: AbortSignal): Promise; } /** Team delivery policy only. FileTransfers owns all bytes, upload checkpoints and disk writes. */ export declare class TeamSendQueue { private readonly ports; private timer?; private closed; private epoch; private draining; private resumeDrain; private drainRequested; private pollDelay; private readonly progress; private readonly active; constructor(ports: Ports); start(): void; pause(): void; dispose(): void; private wake; private user; private guard; enqueue(input: TeamSendInput): Promise; list(conversationRef: string): Promise; retry(conversationRef: string, taskRef: string): Promise; cancel(conversationRef: string, taskRef: string): Promise; private completeCancellation; private command; private save; recover(): Promise; private drain; private run; private failed; private backoff; } export {}; //# sourceMappingURL=team-send-queue.d.ts.map