import { OpenAPIV3 } from '@useoptic/openapi-utilities'; import { ISpecReader } from '../read/types'; import { IPatchGroup, JsonPatcher, PatchesToSave } from './incremental-json-patch/json-patcher'; import { ApiTraffic } from '../traffic/types'; import { JsonSchemaPatch } from '../diff/differs/json-schema-json-diff/plugins/plugin-types'; export interface IPatchOpenAPI { reset: () => void; listPatches: () => IPatchGroup[]; save: (options: { dryRun: boolean; }) => Promise; fork: () => Promise; forkedPatcher(): JsonPatcher; init: { operation: (pathPattern: string, method: OpenAPIV3.HttpMethods, example: ApiTraffic) => void; queryParameter: (method: OpenAPIV3.HttpMethods, path: string, name: string, exampleValue: string | boolean | number) => void; response: (pathPattern: string, method: OpenAPIV3.HttpMethods, example: ApiTraffic) => void; responseBody: (pathPattern: string, method: OpenAPIV3.HttpMethods, statusCodeMatcher: string, contentType: string, example: ApiTraffic) => void; }; patch: { property: (jsonSchemaPatch: JsonSchemaPatch) => void; }; } export interface IPatchOpenAPIReconciler { patchesToFileMutations(patchesToSave: PatchesToSave): Promise; } export declare type IPatchOpenAPIReconcilerFactory = (reader: ISpecReader) => IPatchOpenAPIReconciler; export declare type IFilePatch = { files: { path: string; previousContents: string; newContents: string; }[]; }; //# sourceMappingURL=types.d.ts.map