import { AuthorizationCodeOAuthFlow } from '../../../core/models/common/AuthorizationCodeOAuthFlow';
import { ClientCredentialsOAuthFlow } from '../../../core/models/common/ClientCredentialsOAuthFlow';
import { Components } from '../../../core/models/common/Components';
import { ImplicitOAuthFlow } from '../../../core/models/common/ImplicitOAuthFlow';
import { OAuthFlows } from '../../../core/models/common/OAuthFlows';
import { PasswordOAuthFlow } from '../../../core/models/common/PasswordOAuthFlow';
import { Server } from '../../../core/models/common/Server';
import { ServerVariable } from '../../../core/models/common/ServerVariable';
import { Oas30Callback } from '../models/Oas30Callback';
import { Oas30CallbackDefinition } from '../models/Oas30CallbackDefinition';
import { Oas30CallbackPathItem } from '../models/Oas30CallbackPathItem';
import { Oas30Discriminator } from '../models/Oas30Discriminator';
import { Oas30Encoding } from '../models/Oas30Encoding';
import { Oas30ExampleDefinition } from '../models/Oas30ExampleDefinition';
import { Oas30HeaderDefinition } from '../models/Oas30HeaderDefinition';
import { Oas30Link } from '../models/Oas30Link';
import { Oas30LinkDefinition } from '../models/Oas30LinkDefinition';
import { Oas30LinkParameterExpression } from '../models/Oas30LinkParameterExpression';
import { Oas30LinkRequestBodyExpression } from '../models/Oas30LinkRequestBodyExpression';
import { Oas30LinkServer } from '../models/Oas30LinkServer';
import { Oas30MediaType } from '../models/Oas30MediaType';
import { Oas30RequestBody } from '../models/Oas30RequestBody';
import { Oas30RequestBodyDefinition } from '../models/Oas30RequestBodyDefinition';
import { IOasVisitor } from '../../visitors/IOasVisitor';
/**
 * The OpenAPI 3.0.x version of the visitor interface.
 * @author eric.wittmann@gmail.com
 * @class
 */
export interface IOas30Visitor extends IOasVisitor {
    visitComponents(node: Components): any;
    visitCallbackPathItem(node: Oas30CallbackPathItem): any;
    visitCallback(node: Oas30Callback): any;
    visitLinkServer(node: Oas30LinkServer): any;
    visitCallbackDefinition(node: Oas30CallbackDefinition): any;
    visitLink(node: Oas30Link): any;
    visitLinkRequestBodyExpression(node: Oas30LinkRequestBodyExpression): any;
    visitLinkParameterExpression(node: Oas30LinkParameterExpression): any;
    visitLinkDefinition(node: Oas30LinkDefinition): any;
    visitAuthorizationCodeOAuthFlow(node: AuthorizationCodeOAuthFlow): any;
    visitClientCredentialsOAuthFlow(node: ClientCredentialsOAuthFlow): any;
    visitPasswordOAuthFlow(node: PasswordOAuthFlow): any;
    visitImplicitOAuthFlow(node: ImplicitOAuthFlow): any;
    visitOAuthFlows(node: OAuthFlows): any;
    visitEncoding(node: Oas30Encoding): any;
    visitMediaType(node: Oas30MediaType): any;
    visitHeaderDefinition(node: Oas30HeaderDefinition): any;
    visitRequestBody(node: Oas30RequestBody): any;
    visitRequestBodyDefinition(node: Oas30RequestBodyDefinition): any;
    visitExampleDefinition(node: Oas30ExampleDefinition): any;
    visitDiscriminator(node: Oas30Discriminator): any;
    visitNotSchema(node: Oas30Schema.Oas30NotSchema): any;
    visitOneOfSchema(node: Oas30Schema.Oas30OneOfSchema): any;
    visitAnyOfSchema(node: Oas30Schema.Oas30AnyOfSchema): any;
    visitServer(node: Server): any;
    visitServerVariable(node: ServerVariable): any;
}
import { Oas30Schema } from '../models/Oas30Schema';
