import * as smoltalk from "smoltalk";
import type { SourceLocationOpts } from "./state/checkpointStore.js";
import { MessageThread } from "./state/messageThread.js";
/** Result of `_runPrompt`. Callback bodies cannot raise interrupts
 *  (typechecker-enforced), so the result is always a plain `{messages,
 *  toolCalls}` shape — the LLM hooks (onLLMCallStart, onLLMCallEnd)
 *  fire as side effects only. */
export type RunPromptResult = {
    messages: MessageThread;
    toolCalls: smoltalk.ToolCallJSON[];
};
export declare function runPrompt(args: {
    prompt: string;
    messages: MessageThread;
    responseFormat?: any;
    clientConfig: Partial<smoltalk.SmolConfig> & {
        tools?: any[];
    };
    maxToolCallRounds?: number;
    removedTools?: string[];
    checkpointInfo?: SourceLocationOpts;
}): Promise<any>;
