import { ResponseInput, ProviderStreamEvent, AgentDefinition, EmbedOpts } from '../types/types.js';
import { BaseModelProvider } from './base_provider.js';
export interface TestProviderConfig {
    streamingDelay?: number;
    shouldError?: boolean;
    errorMessage?: string;
    simulateRateLimit?: boolean;
    fixedResponse?: string | undefined;
    fixedThinking?: string | undefined;
    simulateToolCall?: boolean;
    toolName?: string;
    toolArguments?: Record<string, any>;
    tokenUsage?: {
        inputTokens: number;
        outputTokens: number;
    };
    chunkSize?: number;
}
export declare const testProviderConfig: TestProviderConfig;
export declare function resetTestProviderConfig(): void;
export declare class TestProvider extends BaseModelProvider {
    private config;
    constructor(config?: TestProviderConfig);
    createResponseStream(messages: ResponseInput, model: string, agent: AgentDefinition, _requestId?: string): AsyncGenerator<ProviderStreamEvent>;
    private generateResponse;
    createEmbedding(input: string | string[], model: string, agent: AgentDefinition, opts?: EmbedOpts): Promise<number[] | number[][]>;
}
export declare const testProvider: TestProvider;
//# sourceMappingURL=test_provider.d.ts.map