import { JsonSchema } from "../JsonSchema"; export declare class SwaggerObject { swagger: string; info: InfoObject; host: string; basePath: string; schemes: Array; consumes: Array; produces: Array; paths: PathsObject; definitions: DefinitionsObject; parameters: ParametersDefinitionsObject; responses: ResponsesDefinitionsObject; securityDefinitions: SecurityDefinitionsObject; security: Array; tags: Array; externalDocs: ExternalDocumentationObject; } export declare class InfoObject { title: string; description: string; termsOfService: string; contact: ContactObject; license: LicenseObject; version: string; } export declare class ContactObject { name?: string; url?: string; email?: string; } export declare class LicenseObject { name: string; url: string; } export declare class PathsObject { [key: string]: PathItemObject; } export declare class PathItemObject { $ref?: string; get?: OperationObject; put?: OperationObject; post?: OperationObject; delete?: OperationObject; options?: OperationObject; head?: OperationObject; patch?: OperationObject; parameters?: Array; } export declare class OperationObject { tags?: Array; summary?: string; description?: string; externalDocs?: ExternalDocumentationObject; operationId?: string; consumes?: Array; produces?: Array; parameters?: Array; responses: ResponsesObject; schemes: Array; deprecated: boolean; security: Array; } export declare class ExternalDocumentationObject { description?: string; url: string; } export declare class ParameterObject { name: string; in: string; description: string; required: boolean; schema: SchemaObject; type: string; format: string; undefined: boolean; items: ItemsObject; collectionFormat: string; default: undefined; maximum: number; exclusiveMaximum: boolean; minimum: number; exclusiveMinimum: boolean; maxLength: number; minLength: number; pattern: string; maxItems: number; minItems: number; uniqueItems: boolean; enum: undefined; multipleOf: number; } export declare class ItemsObject { type: string; format: string; items: ItemsObject; collectionFormat: string; default: undefined; maximum: number; exclusiveMaximum: boolean; minimum: number; exclusiveMinimum: boolean; maxLength: number; minLength: number; pattern: string; maxItems: number; minItems: number; uniqueItems: boolean; enum: undefined; multipleOf: number; } export declare class ResponsesObject { default?: ResponseObject; [key: string]: ResponseObject; } export declare class ResponseObject { description: string; schema: SchemaObject; headers: HeadersObject; examples: ExampleObject; } export declare class HeadersObject { [key: string]: HeaderObject; } export declare class ExampleObject { [key: string]: undefined; } export declare class HeaderObject { description?: string; type: string; format: string; items: ItemsObject; collectionFormat: string; default: undefined; maximum: number; exclusiveMaximum: boolean; minimum: number; exclusiveMinimum: boolean; maxLength: number; minLength: number; pattern: string; maxItems: number; minItems: number; uniqueItems: boolean; enum: undefined; multipleOf: number; } export declare class TagObject { name: string; description: string; externalDocs: ExternalDocumentationObject; } export declare class ReferenceObject { $ref: string; } export declare class SchemaObject extends JsonSchema { discriminator?: string; readOnly?: boolean; xml?: XMLObject; externalDocs?: ExternalDocumentationObject; example?: undefined; } export declare class XMLObject { name?: string; namespace?: string; prefix?: string; attribute?: boolean; wrapped?: boolean; } export declare class DefinitionsObject { [key: string]: SchemaObject; } export declare class ParametersDefinitionsObject { [key: string]: ParameterObject; } export declare class ResponsesDefinitionsObject { [key: string]: ResponseObject; } export declare class SecurityDefinitionsObject { [key: string]: SecuritySchemeObject; } export declare class SecuritySchemeObject { type?: string; description?: string; name?: string; in?: string; flow?: string; authorizationUrl?: string; tokenUrl?: string; scopes?: ScopesObject; } export declare class ScopesObject { [key: string]: string; } export declare class SecurityRequirementObject { [key: string]: Array; }