import type { ChatContext } from '../../llm/chat_context.js';
import { LLM, type LLMStream } from '../../llm/llm.js';
import type { ToolChoice, ToolContextLike } from '../../llm/tool_context.js';
import { type APIConnectOptions } from '../../types.js';
export interface FakeLLMResponse {
    input: string;
    type?: 'llm';
    content?: string;
    ttft?: number;
    duration?: number;
    toolCalls?: Array<{
        name: string;
        args: Record<string, unknown>;
    }>;
}
export declare class FakeLLM extends LLM {
    private readonly responseMap;
    constructor(responses?: FakeLLMResponse[]);
    label(): string;
    chat({ chatCtx, toolCtx, connOptions, }: {
        chatCtx: ChatContext;
        toolCtx?: ToolContextLike;
        connOptions?: APIConnectOptions;
        parallelToolCalls?: boolean;
        toolChoice?: ToolChoice;
        extraKwargs?: Record<string, unknown>;
    }): LLMStream;
    lookup(input: string): FakeLLMResponse | undefined;
}
//# sourceMappingURL=fake_llm.d.ts.map