import { type ProductSimulationScenario, type SimulationAdapter, type SimulationBudget, type SimulationComparison, type SimulationEvent, type SimulationInterviewRequest, type SimulationInterviewResult, type SimulationPrepareResult, type SimulationReport, type SimulationRun } from "./types.js"; import { FileSimulationStore } from "./store.js"; import { SimulationModelRouter } from "./model-router.js"; export interface ModelSwarmSimulationAdapterOptions { store?: FileSimulationStore; router?: SimulationModelRouter; defaultBudget?: Partial; now?: () => string; } export declare class ModelSwarmSimulationAdapter implements SimulationAdapter { private scenarios; private runs; private readonly store?; private readonly router; private readonly defaultBudget; private readonly budgetOverrides; private readonly now; constructor(options?: ModelSwarmSimulationAdapterOptions); prepare(scenario: ProductSimulationScenario): Promise; start(scenarioId: string): Promise; stream(runId: string): AsyncIterable; interview(runId: string, request: SimulationInterviewRequest): Promise; stop(runId: string): Promise; exportReport(runId: string): Promise; private resolveBudget; private requireScenario; private requireRun; } export declare function compareSimulationRuns(runs: SimulationRun[], now?: string): SimulationComparison; export declare function simulationCosts(run: SimulationRun): { providerRuns: number; liveProviderRuns: number; fallbackProviderRuns: number; maxEstimatedCostUsd: number; inputTokens: number; outputTokens: number; estimatedCostUsd: number; };