import { type PendingInjectionRecord } from '../store/pending-injection-repo.js'; export interface PendingInjectionCommitDeps { pendingRepo: { listAll(): Promise; remove(id: string): Promise; }; history: { hasUserSourceId(sessionId: string, sourceId: string): Promise; appendUser(sessionId: string, opts: { text: string; ts: string; attachments?: PendingInjectionRecord['attachments']; agentMessage?: string; sourceId: string; }): Promise; }; ledger: { findTurn(channel: string, messageId: string): Promise; initAndBeginTurn(channel: string, opts: { sessionId: string; sessionName: string | null; backend: string; profileName: string | null; userMessageTs: string; userMessageText: string; statusMessageTs: string; }): Promise; }; now: () => string; } export declare const productionPendingInjectionDeps: PendingInjectionCommitDeps; export declare function commitPendingInjection(record: PendingInjectionRecord, deps?: PendingInjectionCommitDeps): Promise<{ committedTs: string; }>; export declare function recoverPendingInjections(deps?: PendingInjectionCommitDeps): Promise;