import { AgentContext, AgentEvent, AgentIntent } from '../../interactive/agents/agent-interface'; import { OpenAPIV3 } from 'openapi-types'; import { IPatchOpenAPI } from '../../services/patch/types'; import { ApiTraffic } from '../../services/traffic/types'; import { AnswerQuestionTypes, QuestionsForAgent } from '../../interactive/agents/questions'; import { SpecInterfaceFactory } from '../../services/openapi-read-patch-interface'; import { PassThroughSource } from '../../services/traffic/sources/debug-implementations'; import { Interpreter } from 'xstate'; import { IPatchGroup } from '../../services/patch/incremental-json-patch/json-patcher'; export declare function scenarios(intent: AgentIntent): { initialSpec: (spec: OpenAPIV3.Document) => { agentMachine: Interpreter; sendTraffic: (...traffic: ApiTraffic[]) => void; source: PassThroughSource; spec: OpenAPIV3.Document<{}>; specInterfaceFactory: () => Promise; shutdown: () => Promise; waitForEmptyQueue: () => Promise; answerQuestion: (questionType: AnswerQuestionTypes, answer: (question: QuestionsForAgent) => void) => Promise; results: { patches: () => IPatchGroup[]; flattenedSpec: () => OpenAPIV3.Document<{}>; fileSystemPatches: () => void; }; }; buildSpecFrom: (patch: (p: IPatchOpenAPI) => void) => Promise<{ agentMachine: Interpreter; sendTraffic: (...traffic: ApiTraffic[]) => void; source: PassThroughSource; spec: OpenAPIV3.Document<{}>; specInterfaceFactory: () => Promise; shutdown: () => Promise; waitForEmptyQueue: () => Promise; answerQuestion: (questionType: AnswerQuestionTypes, answer: (question: QuestionsForAgent) => void) => Promise; results: { patches: () => IPatchGroup[]; flattenedSpec: () => OpenAPIV3.Document<{}>; fileSystemPatches: () => void; }; }>; readFrom: (filePath: string) => void; }; export declare function scenarioRunner(intent: AgentIntent, spec: OpenAPIV3.Document, specInterfaceFactory: SpecInterfaceFactory): { agentMachine: Interpreter; sendTraffic: (...traffic: ApiTraffic[]) => void; source: PassThroughSource; spec: OpenAPIV3.Document<{}>; specInterfaceFactory: () => Promise; shutdown: () => Promise; waitForEmptyQueue: () => Promise; answerQuestion: (questionType: AnswerQuestionTypes, answer: (question: QuestionsForAgent) => void) => Promise; results: { patches: () => IPatchGroup[]; flattenedSpec: () => OpenAPIV3.Document<{}>; fileSystemPatches: () => void; }; }; //# sourceMappingURL=scenarios.d.ts.map