import { AaiChannelBindings } from '../../models/AaiChannelBindings';
import { AaiChannelBindingsDefinition } from '../../models/AaiChannelBindingsDefinition';
import { AaiChannelItem } from '../../models/AaiChannelItem';
import { AaiComponents } from '../../models/AaiComponents';
import { AaiContact } from '../../models/AaiContact';
import { AaiCorrelationId } from '../../models/AaiCorrelationId';
import { AaiDocument } from '../../models/AaiDocument';
import { AaiExternalDocumentation } from '../../models/AaiExternalDocumentation';
import { AaiHeaderItem } from '../../models/AaiHeaderItem';
import { AaiInfo } from '../../models/AaiInfo';
import { AaiLicense } from '../../models/AaiLicense';
import { AaiMessage } from '../../models/AaiMessage';
import { AaiMessageBindings } from '../../models/AaiMessageBindings';
import { AaiMessageBindingsDefinition } from '../../models/AaiMessageBindingsDefinition';
import { AaiMessageTrait } from '../../models/AaiMessageTrait';
import { AaiMessageTraitDefinition } from '../../models/AaiMessageTraitDefinition';
import { AaiOAuthFlows } from '../../models/AaiOAuthFlows';
import { AaiOperation } from '../../models/AaiOperation';
import { AaiOperationBindings } from '../../models/AaiOperationBindings';
import { AaiOperationBindingsDefinition } from '../../models/AaiOperationBindingsDefinition';
import { AaiOperationTrait } from '../../models/AaiOperationTrait';
import { AaiOperationTraitDefinition } from '../../models/AaiOperationTraitDefinition';
import { AaiParameter } from '../../models/AaiParameter';
import { AaiSecurityRequirement } from '../../models/AaiSecurityRequirement';
import { AaiSecurityScheme } from '../../models/AaiSecurityScheme';
import { AaiServer } from '../../models/AaiServer';
import { AaiServerBindings } from '../../models/AaiServerBindings';
import { AaiServerBindingsDefinition } from '../../models/AaiServerBindingsDefinition';
import { AaiServerVariable } from '../../models/AaiServerVariable';
import { AaiTag } from '../../models/AaiTag';
import { IAaiNodeFactory } from '../../models/IAaiNodeFactory';
import { Node } from '../../../core/models/Node';
/**
 * @author Jakub Senko<jsenko@redhat.com>
 * @class
 */
export declare class Aai20NodeFactory implements IAaiNodeFactory {
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiChannelItem}
     */
    createChannelItem(parent: Node, key: string): AaiChannelItem;
    /**
     *
     * @param {Node} parent
     * @return {AaiComponents}
     */
    createComponents(parent: Node): AaiComponents;
    /**
     *
     * @param {Node} parent
     * @return {AaiContact}
     */
    createContact(parent: Node): AaiContact;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiCorrelationId}
     */
    createCorrelationId(parent: Node, key: string): AaiCorrelationId;
    /**
     *
     * @return {AaiDocument}
     */
    createDocument(): AaiDocument;
    /**
     *
     * @param {Node} parent
     * @return {AaiExternalDocumentation}
     */
    createExternalDocumentation(parent: Node): AaiExternalDocumentation;
    /**
     *
     * @param {Node} parent
     * @return {AaiHeaderItem}
     */
    createHeaderItem(parent: Node): AaiHeaderItem;
    /**
     *
     * @param {Node} parent
     * @return {AaiInfo}
     */
    createInfo(parent: Node): AaiInfo;
    /**
     *
     * @param {Node} parent
     * @return {AaiLicense}
     */
    createLicense(parent: Node): AaiLicense;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiMessage}
     */
    createMessage(parent: Node, key: string): AaiMessage;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiMessageTrait}
     */
    createMessageTrait(parent: Node, key: string): AaiMessageTrait;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiMessageTraitDefinition}
     */
    createMessageTraitDefinition(parent: Node, key: string): AaiMessageTraitDefinition;
    /**
     *
     * @param {Node} parent
     * @return {AaiOAuthFlows}
     */
    createOAuthFlows(parent: Node): AaiOAuthFlows;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiOperation}
     */
    createOperation(parent: Node, key: string): AaiOperation;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiOperationTrait}
     */
    createOperationTrait(parent: Node, key: string): AaiOperationTrait;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiOperationTraitDefinition}
     */
    createOperationTraitDefinition(parent: Node, key: string): AaiOperationTraitDefinition;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiParameter}
     */
    createParameter(parent: Node, key: string): AaiParameter;
    /**
     *
     * @param {Node} parent
     * @return {AaiSecurityRequirement}
     */
    createSecurityRequirement(parent: Node): AaiSecurityRequirement;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiSecurityScheme}
     */
    createSecurityScheme(parent: Node, key: string): AaiSecurityScheme;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiServer}
     */
    createServer(parent: Node, key: string): AaiServer;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiServerVariable}
     */
    createServerVariable(parent: Node, key: string): AaiServerVariable;
    /**
     *
     * @param {Node} parent
     * @return {AaiTag}
     */
    createTag(parent: Node): AaiTag;
    /**
     *
     * @param {Node} parent
     * @return {AaiServerBindings}
     */
    createServerBindings(parent: Node): AaiServerBindings;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiServerBindingsDefinition}
     */
    createServerBindingsDefinition(parent: Node, key: string): AaiServerBindingsDefinition;
    /**
     *
     * @param {Node} parent
     * @return {AaiOperationBindings}
     */
    createOperationBindings(parent: Node): AaiOperationBindings;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiOperationBindingsDefinition}
     */
    createOperationBindingsDefinition(parent: Node, key: string): AaiOperationBindingsDefinition;
    /**
     *
     * @param {Node} parent
     * @return {AaiMessageBindings}
     */
    createMessageBindings(parent: Node): AaiMessageBindings;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiMessageBindingsDefinition}
     */
    createMessageBindingsDefinition(parent: Node, key: string): AaiMessageBindingsDefinition;
    /**
     *
     * @param {Node} parent
     * @return {AaiChannelBindings}
     */
    createChannelBindings(parent: Node): AaiChannelBindings;
    /**
     *
     * @param {Node} parent
     * @param {string} key
     * @return {AaiChannelBindingsDefinition}
     */
    createChannelBindingsDefinition(parent: Node, key: string): AaiChannelBindingsDefinition;
    constructor();
}
