import type { AssistantMessage, Context, Model, StreamOptions, TextContent, ThinkingContent, ToolCall } from "../types.ts"; export interface FauxModelDefinition { id: string; name?: string; reasoning?: boolean; input?: ("text" | "image")[]; cost?: { input: number; output: number; cacheRead: number; cacheWrite: number; }; contextWindow?: number; maxTokens?: number; } export type FauxContentBlock = TextContent | ThinkingContent | ToolCall; export declare function fauxText(text: string): TextContent; export declare function fauxThinking(thinking: string): ThinkingContent; export declare function fauxToolCall(name: string, arguments_: ToolCall["arguments"], options?: { id?: string; }): ToolCall; export declare function fauxAssistantMessage(content: string | FauxContentBlock | FauxContentBlock[], options?: { stopReason?: AssistantMessage["stopReason"]; errorMessage?: string; responseId?: string; timestamp?: number; }): AssistantMessage; export type FauxResponseFactory = (context: Context, options: StreamOptions | undefined, state: { callCount: number; }, model: Model) => AssistantMessage | Promise; export type FauxResponseStep = AssistantMessage | FauxResponseFactory; export interface RegisterFauxProviderOptions { api?: string; provider?: string; models?: FauxModelDefinition[]; tokensPerSecond?: number; tokenSize?: { min?: number; max?: number; }; } export interface FauxProviderRegistration { api: string; models: [Model, ...Model[]]; getModel(): Model; getModel(modelId: string): Model | undefined; state: { callCount: number; }; setResponses: (responses: FauxResponseStep[]) => void; appendResponses: (responses: FauxResponseStep[]) => void; getPendingResponseCount: () => number; unregister: () => void; } export declare function registerFauxProvider(options?: RegisterFauxProviderOptions): FauxProviderRegistration; //# sourceMappingURL=faux.d.ts.map