import { Components } from '../../core/models/common/Components';
import { IVisitor } from '../../core/visitors/IVisitor';
/**
 * Constructor.
 * @param {Node} parent
 * @class
 * @extends Components
 * @author Jakub Senko <jsenko@redhat.com>
 */
export declare abstract class AaiComponents extends Components {
    /**
     * Represents `Map[string, any]`.
     * Objects of `any` type are deserialized as follows:
     * In TypeScript, this field contains the raw JS object, in case of Java
     * it is a {@link com.fasterxml.jackson.databind.node.ObjectNode}.
     *
     * @see <a href="https://www.asyncapi.com/docs/specifications/2.0.0/#protocolInfoObject">AsyncAPI 2.0.0 spec</a>
     */
    schemas: any;
    messages: any;
    securitySchemes: any;
    parameters: any;
    correlationIds: any;
    operationTraits: any;
    messageTraits: any;
    serverBindings: any;
    channelBindings: any;
    operationBindings: any;
    messageBindings: any;
    constructor(parent?: any);
    /**
     *
     * @param {*} visitor
     */
    accept(visitor: IVisitor): void;
    getMessagesList(): Array<AaiMessage>;
    getSecuritySchemesList(): Array<AaiSecurityScheme>;
    getParametersList(): Array<AaiParameter>;
    getCorrelationIdsList(): Array<AaiCorrelationId>;
    getOperationTraitDefinitionsList(): Array<AaiOperationTraitDefinition>;
    getMessageTraitDefinitionsList(): Array<AaiMessageTraitDefinition>;
    getServerBindingsDefinitionList(): Array<AaiServerBindingsDefinition>;
    getChannelBindingsDefinitionList(): Array<AaiChannelBindingsDefinition>;
    getOperationBindingsDefinitionList(): Array<AaiOperationBindingsDefinition>;
    getMessageBindingsDefinitionList(): Array<AaiMessageBindingsDefinition>;
    addSchema(key: string, value: any): void;
    addMessage(key: string, value: AaiMessage): void;
    addSecurityScheme(key: string, value: AaiSecurityScheme): void;
    addParameter(key: string, value: AaiParameter): void;
    addCorrelationId(key: string, value: AaiCorrelationId): void;
    addMessageTraitDefinition(key: string, value: AaiMessageTraitDefinition): void;
    addOperationTraitDefinition(key: string, value: AaiOperationTraitDefinition): void;
    addServerBindingDefinition(key: string, value: AaiServerBindingsDefinition): void;
    addChannelBindingDefinition(key: string, value: AaiChannelBindingsDefinition): void;
    addOperationBindingDefinition(key: string, value: AaiOperationBindingsDefinition): void;
    addMessageBindingDefinition(key: string, value: AaiMessageBindingsDefinition): void;
}
import { AaiMessageBindingsDefinition } from './AaiMessageBindingsDefinition';
import { AaiOperationBindingsDefinition } from './AaiOperationBindingsDefinition';
import { AaiChannelBindingsDefinition } from './AaiChannelBindingsDefinition';
import { AaiServerBindingsDefinition } from './AaiServerBindingsDefinition';
import { AaiMessageTraitDefinition } from './AaiMessageTraitDefinition';
import { AaiOperationTraitDefinition } from './AaiOperationTraitDefinition';
import { AaiCorrelationId } from './AaiCorrelationId';
import { AaiParameter } from './AaiParameter';
import { AaiSecurityScheme } from './AaiSecurityScheme';
import { AaiMessage } from './AaiMessage';
