import { type JSONPointer } from '@criteria/json-pointer'; import { Callback, Components, Encoding, Example, Header, Info, Link, MediaType, OpenAPI, Operation, Parameter, PathItem, Paths, Reference, RequestBody, Response, Schema, SecurityScheme, type Contact, type Discriminator, type ExternalDocumentation, type License, type OAuthFlow, type OAuthFlows, type Responses, type SecurityRequirement, type Server, type ServerVariable, type Tag, type XML } from './types'; export type OpenAPIObjectType = 'OpenAPI' | 'Info' | 'Contact' | 'License' | 'Server' | 'ServerVariable' | 'Components' | 'Paths' | 'PathItem' | 'Operation' | 'ExternalDocumentation' | 'Parameter' | 'RequestBody' | 'MediaType' | 'Encoding' | 'Responses' | 'Response' | 'Callback' | 'Example' | 'Link' | 'Header' | 'Tag' | 'Reference' | 'Schema' | 'Discriminator' | 'XML' | 'SecurityScheme' | 'OAuthFlows' | 'OAuthFlow' | 'SecurityRequirement'; export type OpenAPIObject = Info | Contact | License | Server | ServerVariable | Components | Paths | PathItem | Operation | ExternalDocumentation | Parameter | RequestBody | MediaType | Encoding | Responses | Response | Callback | Example | Link | Header | Tag | ReferenceType | Schema | Discriminator | XML | SecurityScheme | OAuthFlows | OAuthFlow | SecurityRequirement | OpenAPI; export declare function visitOpenAPIObjects(rootObject: any, rootObjectType: OpenAPIObjectType, initialState: State, visitor: (type: OpenAPIObjectType, object: OpenAPIObject, path: JSONPointer[], state: State) => boolean | void): any;