import { Nullable } from '@fresha/api-tools-core'; import { Components } from './Components'; import { ExternalDocumentation } from './ExternalDocumentation'; import { Info } from './Info'; import { Node } from './Node'; import { PathItem } from './PathItem'; import { Paths } from './Paths'; import { SecurityRequirement } from './SecurityRequirement'; import { Server } from './Server'; import { Tag } from './Tag'; import type { OpenAPIModel, OpenAPIModelFactory, OpenAPIVersion } from './types'; export declare class OpenAPI extends Node implements OpenAPIModel { #private; static create(): OpenAPI; static create(title: string, version: string): OpenAPI; constructor(title: string, version: string); get root(): OpenAPI; get openapi(): OpenAPIVersion; get info(): Info; get jsonSchemaDialect(): string; get serverCount(): number; servers(): IterableIterator; serverAt(index: number): Server; addServer(url: string): Server; removeServerAt(index: number): void; clearServers(): void; get paths(): Paths; get webhookCount(): number; webhookKeys(): IterableIterator; webhooks(): IterableIterator<[string, PathItem]>; hasWebhook(key: string): boolean; getWebhook(key: string): PathItem; addWebhook(key: string): PathItem; removeWebhook(key: string): void; clearWebhooks(): void; get components(): Components; get securityRequirementCount(): number; securityRequirements(): IterableIterator; securityRequirementAt(index: number): SecurityRequirement; addSecurityRequirement(): SecurityRequirement; deleteSecurityRequirementAt(index: number): void; clearSecurityRequirements(): void; get tagCount(): number; tags(): IterableIterator; tagAt(index: number): Tag; hasTag(name: string): boolean; addTag(name: string): Tag; deleteTagAt(index: number): void; clearTags(): void; get externalDocs(): Nullable; addExternalDocs(url: string): ExternalDocumentation; deleteExternalDocs(): void; } export declare const OpenAPIFactory: OpenAPIModelFactory; //# sourceMappingURL=OpenAPI.d.ts.map