import { JsonSchemaDraft07 } from './jsonSchemaDraft07'; export declare namespace OpenApisV3 { interface SchemaJson { openapi: string; info: SchemaJson.Definitions.Info; servers?: SchemaJson.Definitions.Server[]; paths: SchemaJson.Definitions.Paths; components?: SchemaJson.Definitions.Components; security?: SchemaJson.Definitions.SecurityRequirement[]; tags?: SchemaJson.Definitions.Tag[]; externalDocs?: SchemaJson.Definitions.ExternalDocs; } namespace SchemaJson { namespace Definitions { interface Any { [name: string]: any; } type AnyOrExpression = Any | Expression; interface AnysOrExpressions { [name: string]: AnyOrExpression; } interface Callback { } type CallbackOrReference = Callback | Reference; interface CallbacksOrReferences { [name: string]: CallbackOrReference; } interface Components { schemas?: SchemasOrReferences; responses?: ResponsesOrReferences; parameters?: ParametersOrReferences; examples?: ExamplesOrReferences; requestBodies?: RequestBodiesOrReferences; headers?: HeadersOrReferences; securitySchemes?: SecuritySchemesOrReferences; links?: LinksOrReferences; callbacks?: CallbacksOrReferences; } interface Contact { name?: string; url?: string; email?: string; } type DefaultType = null | any[] | unknown | number | boolean | string; interface Discriminator { propertyName: string; mapping?: Strings; } interface Encoding { contentType?: string; headers?: HeadersOrReferences; style?: string; explode?: boolean; allowReserved?: boolean; } interface Encodings { [name: string]: Encoding; } interface Example { summary?: string; description?: string; value?: Any; externalValue?: string; } type ExampleOrReference = Example | Reference; interface ExamplesOrReferences { [name: string]: ExampleOrReference; } interface Expression { [name: string]: any; } interface ExternalDocs { description?: string; url: string; } interface Header { description?: string; required?: boolean; deprecated?: boolean; allowEmptyValue?: boolean; style?: string; explode?: boolean; allowReserved?: boolean; schema?: SchemaOrReference; example?: Any; examples?: ExamplesOrReferences; content?: MediaTypes; } type HeaderOrReference = Header | Reference; interface HeadersOrReferences { [name: string]: HeaderOrReference; } interface Info { title: string; description?: string; termsOfService?: string; contact?: Contact; license?: License; version: string; } interface License { name: string; url?: string; } interface Link { operationRef?: string; operationId?: string; parameters?: AnysOrExpressions; requestBody?: AnyOrExpression; description?: string; server?: Server; } type LinkOrReference = Link | Reference; interface LinksOrReferences { [name: string]: LinkOrReference; } interface MediaType { schema?: SchemaOrReference; example?: Any; examples?: ExamplesOrReferences; encoding?: Encodings; } interface MediaTypes { [name: string]: MediaType; } interface OauthFlow { authorizationUrl?: string; tokenUrl?: string; refreshUrl?: string; scopes?: Strings; } interface OauthFlows { implicit?: OauthFlow; password?: OauthFlow; clientCredentials?: OauthFlow; authorizationCode?: OauthFlow; } interface Operation { tags?: string[]; summary?: string; description?: string; externalDocs?: ExternalDocs; operationId?: string; parameters?: ParameterOrReference[]; requestBody?: RequestBodyOrReference; responses: ResponsesOrReferences; callbacks?: CallbacksOrReferences; deprecated?: boolean; security?: SecurityRequirement[]; servers?: Server[]; } interface Parameter { name: string; in: string; description?: string; required?: boolean; deprecated?: boolean; allowEmptyValue?: boolean; style?: string; explode?: boolean; allowReserved?: boolean; schema?: SchemaOrReference; example?: Any; examples?: ExamplesOrReferences; content?: MediaTypes; } type ParameterOrReference = Parameter | Reference; interface ParametersOrReferences { [name: string]: ParameterOrReference; } interface PathItem { $ref?: string; summary?: string; description?: string; get?: Operation; put?: Operation; post?: Operation; delete?: Operation; options?: Operation; head?: Operation; patch?: Operation; trace?: Operation; servers?: Server[]; parameters?: ParameterOrReference[]; } type PathItemOrReference = PathItem | Reference; interface Paths { [name: string]: PathItemOrReference; } interface Reference { $ref: string; } interface RequestBodiesOrReferences { [name: string]: RequestBodyOrReference; } interface RequestBody { description?: string; content: MediaTypes; required?: boolean; } type RequestBodyOrReference = RequestBody | Reference; interface Response { description: string; headers?: HeadersOrReferences; content?: MediaTypes; links?: LinksOrReferences; } type ResponseOrReference = Response | Reference; interface ResponsesOrReferences { [name: string]: ResponseOrReference; } type SchemaOrReference = JsonSchemaDraft07.SchemaObject | Reference; interface SchemasOrReferences { [name: string]: SchemaOrReference; } interface SecurityRequirement { } interface SecurityScheme { type: string; description?: string; name?: string; in?: string; scheme?: string; bearerFormat?: string; flows?: OauthFlows; openIdConnectUrl?: string; } type SecuritySchemeOrReference = SecurityScheme | Reference; interface SecuritySchemesOrReferences { [name: string]: SecuritySchemeOrReference; } interface Server { url: string; description?: string; variables?: ServerVariables; } interface ServerVariable { enum?: string[]; default: string; description?: string; } interface ServerVariables { [name: string]: ServerVariable; } type SpecificationExtension = null | number | boolean | string | unknown | any[]; interface Strings { [name: string]: string; } interface Tag { name: string; description?: string; externalDocs?: ExternalDocs; } interface Xml { name?: string; namespace?: string; prefix?: string; attribute?: boolean; wrapped?: boolean; } } } }