import { BodyLocation, OpenAPIV3, QueryParameterLocation } from '@useoptic/openapi-utilities'; import { IFilePatch } from '../patch/types'; import { JsonSchemaSourcemap } from '@useoptic/openapi-io'; export interface OpenAPIDiffingQuestions { paths(): string[]; operations(): { path: string; method: OpenAPIV3.HttpMethods; jsonPath: string; }[]; responsesForOperation(method: OpenAPIV3.HttpMethods, path: string): ResponseMatchType[]; requestBodiesForOperation(method: OpenAPIV3.HttpMethods, path: string): RequestBodyMatchType[]; queryParametersForOperation(method: OpenAPIV3.HttpMethods, path: string): QueryParameterType[]; } export interface ISpecReader { questions(): Promise; sourcemap(): Promise; flattenedSpecification(): Promise; didLoad(): Promise; save(patch: IFilePatch): Promise; describeLocation(): string; rootFile(): string; reload(): Promise; mode: 'simulated' | 'filesystem'; } export declare type FilePathsWithChanges = string[]; export declare type DidLoadStatus = { success: true; durationMillis: number; } | { success: false; error: string; durationMillis: number; }; export declare const openApiDiffingQuestionsTestingStub: OpenAPIDiffingQuestions; export declare type ResponseMatchType = { statusCodeMatcher: string; contentTypes: { contentType: string; schema?: OpenAPIV3.SchemaObject; location: BodyLocation; jsonPath: string; }[]; }; export declare type RequestBodyMatchType = { contentType: string; schema?: OpenAPIV3.SchemaObject; location: BodyLocation; jsonPath: string; }; export declare type QueryParameterType = { name: string; schema?: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject; location: QueryParameterLocation; jsonPath: string; required: boolean; }; //# sourceMappingURL=types.d.ts.map