/** A decision provider for tests: it answers as it is told, and records what it was asked. */ import type { DecisionCallContext, DecisionDistribution, DecisionProvider, DecisionProviderInfo, DecisionProviderQuestion, DecisionProviderRequest, DecisionProviderResult, DecisionState } from './core.js'; /** Options for `MockDecisionProvider`. */ export interface MockDecisionProviderOptions { /** Its name in results. Defaults to `mock`. */ name?: string; /** The model it reports. Defaults to `mock-decision`. */ model?: string; /** * Answers each question with its probabilities, or a box, from the question's name, the question, * and the state, pictures and all. Returning `undefined`, or leaving it out, answers with an even * spread, and a box with the whole picture: confidence 0. */ answer?: (name: string, question: DecisionProviderQuestion, state: DecisionState) => DecisionDistribution | undefined; /** Fails every call with this error, or the error the function returns. */ fail?: Error | ((request: DecisionProviderRequest) => Error | undefined); /** The input tokens it reports per call. Defaults to a quarter of the request's length. */ inputTokens?: number; } /** * Answers decisions as `answer` says, without a model, and keeps every request it was asked in * `requests`. It takes every question type, pictures, 255 options, and 10 levels, as TypeSafe AI's Jev * does. */ export declare class MockDecisionProvider implements DecisionProvider { private readonly options; /** Its name and what it takes. */ readonly info: DecisionProviderInfo; /** Every request it was asked, in order. */ readonly requests: DecisionProviderRequest[]; constructor(options?: MockDecisionProviderOptions); /** Answers every question as `answer` says, or with an even spread. */ decide(request: DecisionProviderRequest, context: DecisionCallContext): Promise; }