import { AaiChannelBindings } from '../asyncapi/models/AaiChannelBindings';
import { AaiChannelBindingsDefinition } from '../asyncapi/models/AaiChannelBindingsDefinition';
import { AaiChannelItem } from '../asyncapi/models/AaiChannelItem';
import { AaiCorrelationId } from '../asyncapi/models/AaiCorrelationId';
import { AaiHeaderItem } from '../asyncapi/models/AaiHeaderItem';
import { AaiMessage } from '../asyncapi/models/AaiMessage';
import { AaiMessageBindings } from '../asyncapi/models/AaiMessageBindings';
import { AaiMessageBindingsDefinition } from '../asyncapi/models/AaiMessageBindingsDefinition';
import { AaiMessageTrait } from '../asyncapi/models/AaiMessageTrait';
import { AaiMessageTraitDefinition } from '../asyncapi/models/AaiMessageTraitDefinition';
import { AaiOperationBindings } from '../asyncapi/models/AaiOperationBindings';
import { AaiOperationBindingsDefinition } from '../asyncapi/models/AaiOperationBindingsDefinition';
import { AaiOperationTrait } from '../asyncapi/models/AaiOperationTrait';
import { AaiOperationTraitDefinition } from '../asyncapi/models/AaiOperationTraitDefinition';
import { AaiParameter } from '../asyncapi/models/AaiParameter';
import { AaiServerBindings } from '../asyncapi/models/AaiServerBindings';
import { AaiServerBindingsDefinition } from '../asyncapi/models/AaiServerBindingsDefinition';
import { Aai20NodeFactory } from '../asyncapi/v2/models/Aai20NodeFactory';
import { IAai20Visitor } from '../asyncapi/v2/visitors/IAai20Visitor';
import { AuthorizationCodeOAuthFlow } from '../core/models/common/AuthorizationCodeOAuthFlow';
import { ClientCredentialsOAuthFlow } from '../core/models/common/ClientCredentialsOAuthFlow';
import { Components } from '../core/models/common/Components';
import { IDefinition } from '../core/models/common/IDefinition';
import { ImplicitOAuthFlow } from '../core/models/common/ImplicitOAuthFlow';
import { OAuthFlows } from '../core/models/common/OAuthFlows';
import { Operation } from '../core/models/common/Operation';
import { Parameter } from '../core/models/common/Parameter';
import { PasswordOAuthFlow } from '../core/models/common/PasswordOAuthFlow';
import { Schema } from '../core/models/common/Schema';
import { SecurityRequirement } from '../core/models/common/SecurityRequirement';
import { SecurityScheme } from '../core/models/common/SecurityScheme';
import { Server } from '../core/models/common/Server';
import { ServerVariable } from '../core/models/common/ServerVariable';
import { ModelClonerVisitor } from './ModelClonerVisitor';
/**
 * @author eric.wittmann@gmail.com
 * @class
 * @extends ModelClonerVisitor
 */
export declare class Aai20ModelClonerVisitor extends ModelClonerVisitor implements IAai20Visitor {
    static factory: Aai20NodeFactory;
    static factory_$LI$(): Aai20NodeFactory;
    /**
     * @see io.apicurio.datamodels.core.visitors.IVisitor#visitOperation(io.apicurio.datamodels.core.models.common.Operation)
     * @param {Operation} node
     */
    visitOperation(node: Operation): void;
    /**
     * @see io.apicurio.datamodels.core.visitors.IVisitor#visitParameterDefinition(io.apicurio.datamodels.core.models.common.IDefinition)
     * @param {*} node
     */
    visitParameterDefinition(node: IDefinition): void;
    /**
     * @see io.apicurio.datamodels.core.visitors.IVisitor#visitParameter(io.apicurio.datamodels.core.models.common.Parameter)
     * @param {Parameter} node
     */
    visitParameter(node: Parameter): void;
    /**
     * @see io.apicurio.datamodels.core.visitors.IVisitor#visitSchemaDefinition(io.apicurio.datamodels.core.models.common.IDefinition)
     * @param {*} node
     */
    visitSchemaDefinition(node: IDefinition): void;
    /**
     * @see io.apicurio.datamodels.core.visitors.IVisitor#visitSchema(io.apicurio.datamodels.core.models.common.Schema)
     * @param {Schema} node
     */
    visitSchema(node: Schema): void;
    /**
     * @see io.apicurio.datamodels.core.visitors.IVisitor#visitSecurityRequirement(io.apicurio.datamodels.core.models.common.SecurityRequirement)
     * @param {SecurityRequirement} node
     */
    visitSecurityRequirement(node: SecurityRequirement): void;
    /**
     * @see io.apicurio.datamodels.core.visitors.IVisitor#visitSecurityScheme(io.apicurio.datamodels.core.models.common.SecurityScheme)
     * @param {SecurityScheme} node
     */
    visitSecurityScheme(node: SecurityScheme): void;
    /**
     * @see io.apicurio.datamodels.openapi.v3.visitors.IOas30Visitor#visitComponents(io.apicurio.datamodels.core.models.common.Components)
     * @param {Components} node
     */
    visitComponents(node: Components): void;
    /**
     * @see io.apicurio.datamodels.openapi.v3.visitors.IOas30Visitor#visitServer(io.apicurio.datamodels.core.models.common.Server)
     * @param {Server} node
     */
    visitServer(node: Server): void;
    /**
     * @see io.apicurio.datamodels.openapi.v3.visitors.IOas30Visitor#visitServerVariable(io.apicurio.datamodels.core.models.common.ServerVariable)
     * @param {ServerVariable} node
     */
    visitServerVariable(node: ServerVariable): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitAuthorizationCodeOAuthFlow(io.apicurio.datamodels.core.models.common.AuthorizationCodeOAuthFlow)
     * @param {AuthorizationCodeOAuthFlow} node
     */
    visitAuthorizationCodeOAuthFlow(node: AuthorizationCodeOAuthFlow): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitChannelItem(io.apicurio.datamodels.asyncapi.models.AaiChannelItem)
     * @param {AaiChannelItem} node
     */
    visitChannelItem(node: AaiChannelItem): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitClientCredentialsOAuthFlow(io.apicurio.datamodels.core.models.common.ClientCredentialsOAuthFlow)
     * @param {ClientCredentialsOAuthFlow} node
     */
    visitClientCredentialsOAuthFlow(node: ClientCredentialsOAuthFlow): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitCorrelationId(io.apicurio.datamodels.asyncapi.models.AaiCorrelationId)
     * @param {AaiCorrelationId} node
     */
    visitCorrelationId(node: AaiCorrelationId): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitHeaderItem(io.apicurio.datamodels.asyncapi.models.AaiHeaderItem)
     * @param {AaiHeaderItem} node
     */
    visitHeaderItem(node: AaiHeaderItem): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitImplicitOAuthFlow(io.apicurio.datamodels.core.models.common.ImplicitOAuthFlow)
     * @param {ImplicitOAuthFlow} node
     */
    visitImplicitOAuthFlow(node: ImplicitOAuthFlow): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitMessage(io.apicurio.datamodels.asyncapi.models.AaiMessage)
     * @param {AaiMessage} node
     */
    visitMessage(node: AaiMessage): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitMessageTrait(io.apicurio.datamodels.asyncapi.models.AaiMessageTrait)
     * @param {AaiMessageTrait} node
     */
    visitMessageTrait(node: AaiMessageTrait): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitMessageTraitDefinition(io.apicurio.datamodels.asyncapi.models.AaiMessageTraitDefinition)
     * @param {AaiMessageTraitDefinition} node
     */
    visitMessageTraitDefinition(node: AaiMessageTraitDefinition): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitOAuthFlows(io.apicurio.datamodels.core.models.common.OAuthFlows)
     * @param {OAuthFlows} node
     */
    visitOAuthFlows(node: OAuthFlows): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitOperationTrait(io.apicurio.datamodels.asyncapi.models.AaiOperationTrait)
     * @param {AaiOperationTrait} node
     */
    visitOperationTrait(node: AaiOperationTrait): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitOperationTraitDefinition(io.apicurio.datamodels.asyncapi.models.AaiOperationTraitDefinition)
     * @param {AaiOperationTraitDefinition} node
     */
    visitOperationTraitDefinition(node: AaiOperationTraitDefinition): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitPasswordOAuthFlow(io.apicurio.datamodels.core.models.common.PasswordOAuthFlow)
     * @param {PasswordOAuthFlow} node
     */
    visitPasswordOAuthFlow(node: PasswordOAuthFlow): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitAaiParameter(io.apicurio.datamodels.asyncapi.models.AaiParameter)
     * @param {AaiParameter} node
     */
    visitAaiParameter(node: AaiParameter): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitServerBindings(io.apicurio.datamodels.asyncapi.models.AaiServerBindings)
     * @param {AaiServerBindings} node
     */
    visitServerBindings(node: AaiServerBindings): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitServerBindingsDefinition(io.apicurio.datamodels.asyncapi.models.AaiServerBindingsDefinition)
     * @param {AaiServerBindingsDefinition} node
     */
    visitServerBindingsDefinition(node: AaiServerBindingsDefinition): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitOperationBindings(io.apicurio.datamodels.asyncapi.models.AaiOperationBindings)
     * @param {AaiOperationBindings} node
     */
    visitOperationBindings(node: AaiOperationBindings): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitOperationBindingsDefinition(io.apicurio.datamodels.asyncapi.models.AaiOperationBindingsDefinition)
     * @param {AaiOperationBindingsDefinition} node
     */
    visitOperationBindingsDefinition(node: AaiOperationBindingsDefinition): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitMessageBindings(io.apicurio.datamodels.asyncapi.models.AaiMessageBindings)
     * @param {AaiMessageBindings} node
     */
    visitMessageBindings(node: AaiMessageBindings): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitMessageBindingsDefinition(io.apicurio.datamodels.asyncapi.models.AaiMessageBindingsDefinition)
     * @param {AaiMessageBindingsDefinition} node
     */
    visitMessageBindingsDefinition(node: AaiMessageBindingsDefinition): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitChannelBindings(io.apicurio.datamodels.asyncapi.models.AaiChannelBindings)
     * @param {AaiChannelBindings} node
     */
    visitChannelBindings(node: AaiChannelBindings): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.visitors.IAaiVisitor#visitChannelBindingsDefinition(io.apicurio.datamodels.asyncapi.models.AaiChannelBindingsDefinition)
     * @param {AaiChannelBindingsDefinition} node
     */
    visitChannelBindingsDefinition(node: AaiChannelBindingsDefinition): void;
    constructor();
}
