import { Document } from '../../core/models/Document';
/**
 * Constructor.
 * @class
 * @extends Document
 * @author eric.wittmann@gmail.com
 */
export declare abstract class AaiDocument extends Document {
    /**
     * @see <a href="https://www.asyncapi.com/docs/specifications/2.0.0/#A2SVersionString">AsyncAPI 2.0.0 spec</a>
     */
    asyncapi: string;
    /**
     * @see <a href="https://www.asyncapi.com/docs/specifications/2.0.0/#A2SIdString">AsyncAPI 2.0.0 spec</a>
     */
    id: string;
    /**
     * @see <a href="https://www.asyncapi.com/docs/specifications/2.0.0/#channelsObject">AsyncAPI 2.0.0 spec</a>
     */
    channels: any;
    /**
     * @see <a href="https://www.asyncapi.com/docs/specifications/2.0.0/#serverObject">AsyncAPI 2.0.0 spec</a>
     */
    servers: any;
    /**
     * @see <a href="https://www.asyncapi.com/docs/specifications/2.0.0/#componentsObject">AsyncAPI 2.0.0 spec</a>
     */
    components: AaiComponents;
    defaultContentType: string;
    constructor();
    addServer(name: string, server: AaiServer): AaiServer;
    getChannels(): Array<AaiChannelItem>;
    addChannelItem(item: AaiChannelItem): void;
    createServer$java_lang_String(name: string): AaiServer;
    createServer$java_lang_String$java_lang_String$java_lang_String(name: string, url: string, description: string): AaiServer;
    createServer(name?: any, url?: any, description?: any): any;
    abstract createChannelItem(name: string): AaiChannelItem;
    abstract createComponents(): AaiComponents;
    getServers(): Array<AaiServer>;
}
import { AaiComponents } from './AaiComponents';
import { AaiServer } from './AaiServer';
import { AaiChannelItem } from './AaiChannelItem';
