import { OpenAPIV3 } from 'openapi-types'; import { Project } from 'ts-morph'; export type OperationObject = Omit & { operationId: string; }; export interface GenerateParameter extends OperationObject { method: string; path: string; project: Project; components: OpenAPIV3.ComponentsObject; options: Options; } export interface OperationObjectWithMetadata extends OpenAPIV3.OperationObject { path: string; method: string; } export declare function GenerateParameterToOperationObjectWithMetadata(parameter: GenerateParameter): OperationObjectWithMetadata; export declare function HasOperationId(operation: OpenAPIV3.OperationObject): operation is OperationObject; export declare function AssertWithOperationId(operation: OpenAPIV3.OperationObject): asserts operation is OperationObject; export type GeneratorFunction = (parameters: GenerateParameter) => void; export interface OpenApiSchemaBase { debug?: boolean; } export interface OpenApiSchemaFromPath extends OpenApiSchemaBase { path: string; } export interface OpenApiSchemaFromUrl extends OpenApiSchemaBase { url: string; } export type OpenApiSchema = OpenApiSchemaFromPath | OpenApiSchemaFromUrl;