import { Components } from './Components'; import { ExternalDocumentation } from './ExternalDocumentation'; import { Info } from './Info'; import { PathItem } from './PathItem'; import { Paths } from './Paths'; import { SecurityRequirement } from './SecurityRequirement'; import { Server } from './Server'; import { Tag } from './Tag'; import type { OpenApiVersion, OpenAPIModel, SpecificationExtensionsModel, OpenAPIModelFactory } from './types'; import type { CommonMarkString, Nullable, VersionString, JSONValue, ParametrisedURLString, URLString } from '@fresha/api-tools-core'; /** * @see http://spec.openapis.org/oas/v3.0.3#openapi-object */ export declare class OpenAPI implements OpenAPIModel, SpecificationExtensionsModel { #private; static create(): OpenAPI; static create(title: string, version: string): OpenAPI; constructor(title: string, version: VersionString); get openapi(): OpenApiVersion; get root(): OpenAPIModel; get extensionCount(): number; extensionKeys(): IterableIterator; extensions(): IterableIterator<[string, JSONValue]>; hasExtension(key: string): boolean; getExtension(key: string): JSONValue | undefined; getExtensionOrThrow(key: string): JSONValue; setExtension(key: string, value: JSONValue): void; deleteExtension(key: string): void; clearExtensions(): void; get info(): Info; get serverCount(): number; servers(): IterableIterator; serverAt(index: number): Server; getServer(url: ParametrisedURLString): Server | undefined; getServerOrThrow(url: ParametrisedURLString): Server; addServer(url: ParametrisedURLString, variableDefaults?: Record, description?: CommonMarkString): Server; deleteServerAt(index: number): void; clearServers(): void; get paths(): Paths; getPathItem(url: ParametrisedURLString): PathItem | undefined; getPathItemOrThrow(url: ParametrisedURLString): PathItem; setPathItem(url: ParametrisedURLString): PathItem; deletePathItem(url: ParametrisedURLString): void; clearPathItems(): void; get components(): Components; get securityRequirementCount(): number; securityRequirements(): IterableIterator; securityRequirementAt(index: number): SecurityRequirement; addSecurityRequirement(): SecurityRequirement; deleteSecurityRequirementAt(index: number): void; clearSecurityRequirements(): void; get tagCount(): number; tagNames(): IterableIterator; tags(): IterableIterator; tagAt(index: number): Tag; hasTag(name: string): boolean; indexOfTag(name: string): number; getTag(name: string): Tag | undefined; getTagOrThrow(name: string): Tag; addTag(name: string): Tag; deleteTag(name: string): void; deleteTagAt(index: number): void; clearTags(): void; dispose(): void; get externalDocs(): Nullable; setExternalDocs(url: URLString): ExternalDocumentation; deleteExternalDocs(): void; } export declare const OpenAPIFactory: OpenAPIModelFactory; //# sourceMappingURL=OpenAPI.d.ts.map