export type ChatResumeStatus = "steered" | "not-running" | "error";
export type ThreadResumeStatus = "queued" | "not-running" | "error";
export interface ChatResumeAttempt {
    status: ChatResumeStatus;
    error?: string;
}
export interface ThreadResumeAttempt {
    status: ThreadResumeStatus;
    error?: string;
}
type ChatResumeHandler = (message: string) => Promise<ChatResumeAttempt> | ChatResumeAttempt;
type ThreadResumeHandler = (message: string) => Promise<ThreadResumeAttempt> | ThreadResumeAttempt;
declare class InterventionRunResumeRegistry {
    private readonly chatHandlers;
    private readonly threadHandlers;
    registerChatSession(sessionId: string, handler: ChatResumeHandler): () => void;
    registerThread(threadId: string, handler: ThreadResumeHandler): () => void;
    resumeChatSession(sessionId: string, message: string): Promise<ChatResumeAttempt>;
    resumeThread(threadId: string, message: string): Promise<ThreadResumeAttempt>;
    clearForTests(): void;
}
export declare const interventionRunResumeRegistry: InterventionRunResumeRegistry;
export {};
//# sourceMappingURL=intervention-run-resume.d.ts.map