import type { ModelSelectionContext, ModelSelector } from '@contractspec/lib.ai-providers/selector-types';
import type { ProviderConfig } from '@contractspec/lib.ai-providers/types';
import type { AgentSpec } from '@contractspec/lib.contracts-spec/agent';
import type { LanguageModel } from 'ai';
import type { ToolHandler } from '../types';
export interface AgentJsonRunnerOptions {
    spec?: AgentSpec;
    model?: LanguageModel;
    provider?: ProviderConfig;
    system?: string;
    toolHandlers?: Map<string, ToolHandler>;
    maxSteps?: number;
    temperature?: number;
    locale?: string;
    modelSelector?: ModelSelector;
    selectionContext?: ModelSelectionContext;
}
export interface AgentJsonRunner {
    generateJson: (prompt: string) => Promise<string>;
}
export declare function createAgentJsonRunner(options: AgentJsonRunnerOptions): Promise<AgentJsonRunner>;
