import { Amqp1ChannelBindingElement as Amqp1ChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { Amqp1MessageBindingElement as Amqp1MessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { Amqp1OperationBindingElement as Amqp1OperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { Amqp1ServerBindingElement as Amqp1ServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { AmqpChannelBindingElement as AmqpChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { AmqpMessageBindingElement as AmqpMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { AmqpOperationBindingElement as AmqpOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { AmqpServerBindingElement as AmqpServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { AnypointmqChannelBindingElement as AnypointmqChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { AnypointmqMessageBindingElement as AnypointmqMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { AnypointmqOperationBindingElement as AnypointmqOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { AnypointmqServerBindingElement as AnypointmqServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { ArrayElement } from '@swagger-api/apidom-core';
import { AsyncApi2Element } from '@swagger-api/apidom-ns-asyncapi-2';
import { AsyncApiVersionElement as AsyncApiVersionElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { Attributes } from '@swagger-api/apidom-core';
import { ChannelBindingsElement as ChannelBindingsElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { ChannelsElement as ChannelsElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { ComponentsElement as ComponentsElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { ContactElement as ContactElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { CorrelationIDElement as CorrelationIDElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { DefaultContentTypeElement as DefaultContentTypeElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { Element as Element_2 } from '@swagger-api/apidom-core';
import { ElementPredicate } from '@swagger-api/apidom-core';
import { ExternalDocumentationElement as ExternalDocumentationElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { GooglepubsubChannelBindingElement as GooglepubsubChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { GooglepubsubMessageBindingElement as GooglepubsubMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { GooglepubsubOperationBindingElement as GooglepubsubOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { GooglepubsubServerBindingElement as GooglepubsubServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { HttpChannelBindingElement as HttpChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { HttpMessageBindingElement as HttpMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { HttpOperationBindingElement as HttpOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { HttpServerBindingElement as HttpServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { IbmmqChannelBindingElement as IbmmqChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { IbmmqMessageBindingElement as IbmmqMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { IbmmqOperationBindingElement as IbmmqOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { IbmmqServerBindingElement as IbmmqServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { IdentifierElement as IdentifierElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { InfoElement as InfoElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { JmsChannelBindingElement as JmsChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { JmsMessageBindingElement as JmsMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { JmsOperationBindingElement as JmsOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { JmsServerBindingElement as JmsServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { KafkaChannelBindingElement as KafkaChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { KafkaMessageBindingElement as KafkaMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { KafkaOperationBindingElement as KafkaOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { KafkaServerBindingElement as KafkaServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { LicenseElement as LicenseElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MediaTypes } from '@swagger-api/apidom-core';
import { MercureChannelBindingElement as MercureChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MercureMessageBindingElement as MercureMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MercureOperationBindingElement as MercureOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MercureServerBindingElement as MercureServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MessageBindingsElement as MessageBindingsElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MessageElement as MessageElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MessageExampleElement as MessageExampleElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MessageTraitElement as MessageTraitElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { Meta } from '@swagger-api/apidom-core';
import { Mqtt5ChannelBindingElement as Mqtt5ChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { Mqtt5MessageBindingElement as Mqtt5MessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { Mqtt5OperationBindingElement as Mqtt5OperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { Mqtt5ServerBindingElement as Mqtt5ServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MqttChannelBindingElement as MqttChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MqttMessageBindingElement as MqttMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MqttOperationBindingElement as MqttOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { MqttServerBindingElement as MqttServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { Namespace } from 'minim';
import { NamespacePluginOptions } from '@swagger-api/apidom-core';
import { NatsChannelBindingElement as NatsChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { NatsMessageBindingElement as NatsMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { NatsOperationBindingElement as NatsOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { NatsServerBindingElement as NatsServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { OAuthFlowElement as OAuthFlowElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { OAuthFlowsElement as OAuthFlowsElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { ObjectElement } from '@swagger-api/apidom-core';
import { OperationBindingsElement as OperationBindingsElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { OperationTraitElement as OperationTraitElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { ParametersElement as ParametersElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { PulsarChannelBindingElement as PulsarChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { PulsarMessageBindingElement as PulsarMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { PulsarOperationBindingElement as PulsarOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { PulsarServerBindingElement as PulsarServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { RedisChannelBindingElement as RedisChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { RedisMessageBindingElement as RedisMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { RedisOperationBindingElement as RedisOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { RedisServerBindingElement as RedisServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { ReferenceElement as ReferenceElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SchemaElement as SchemaElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SecuritySchemeElement as SecuritySchemeElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { ServerBindingsElement as ServerBindingsElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { ServerElement as ServerElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { ServersElement as ServersElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { ServerVariableElement as ServerVariableElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SnsChannelBindingElement as SnsChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SnsMessageBindingElement as SnsMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SnsOperationBindingElement as SnsOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SnsServerBindingElement as SnsServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SolaceChannelBindingElement as SolaceChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SolaceMessageBindingElement as SolaceMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SolaceOperationBindingElement as SolaceOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SolaceServerBindingElement as SolaceServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SqsChannelBindingElement as SqsChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SqsMessageBindingElement as SqsMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SqsOperationBindingElement as SqsOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { SqsServerBindingElement as SqsServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { StompChannelBindingElement as StompChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { StompMessageBindingElement as StompMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { StompOperationBindingElement as StompOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { StompServerBindingElement as StompServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { StringElement } from '@swagger-api/apidom-core';
import { TagElement as TagElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { TagsElement as TagsElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { WebSocketChannelBindingElement as WebSocketChannelBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { WebSocketMessageBindingElement as WebSocketMessageBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { WebSocketOperationBindingElement as WebSocketOperationBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';
import { WebSocketServerBindingElement as WebSocketServerBindingElement_2 } from '@swagger-api/apidom-ns-asyncapi-2';

/**
 * @public
 */
export declare class Amqp1ChannelBindingElement extends Amqp1ChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class Amqp1MessageBindingElement extends Amqp1MessageBindingElement_2 {
}

/**
 * @public
 */
export declare class Amqp1OperationBindingElement extends Amqp1OperationBindingElement_2 {
}

/**
 * @public
 */
export declare class Amqp1ServerBindingElement extends Amqp1ServerBindingElement_2 {
}

/**
 * @public
 */
export declare class AmqpChannelBindingElement extends AmqpChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class AmqpMessageBindingElement extends AmqpMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class AmqpOperationBindingElement extends AmqpOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class AmqpServerBindingElement extends AmqpServerBindingElement_2 {
}

/**
 * @public
 */
export declare class AnypointmqChannelBindingElement extends AnypointmqChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class AnypointmqMessageBindingElement extends AnypointmqMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class AnypointmqOperationBindingElement extends AnypointmqOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class AnypointmqServerBindingElement extends AnypointmqServerBindingElement_2 {
}

/**
 * @public
 */
declare const asyncApi3: {
    namespace: (options: NamespacePluginOptions) => Namespace;
};
export default asyncApi3;

/**
 * @public
 */
export declare class AsyncApi3Element extends AsyncApi2Element {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get tags(): TagsElement_2 | undefined;
    set tags(tags: TagsElement_2 | undefined);
    get externalDocs(): ExternalDocumentationElement_2 | undefined;
    set externalDocs(externalDocs: ExternalDocumentationElement_2 | undefined);
    get operations(): OperationsElement | undefined;
    set operations(operations: OperationsElement | undefined);
}

/**
 * @public
 */
export declare class AsyncAPIMediaTypes extends MediaTypes<string> {
    filterByFormat(format?: Format): string[];
    findBy(version?: string, format?: Format): string;
    latest(format?: Format): string;
}

/**
 * @public
 */
export declare class AsyncApiVersionElement extends AsyncApiVersionElement_2 {
}

/**
 * @public
 */
export declare class ChannelBindingsElement extends ChannelBindingsElement_2 {
}

/**
 * @public
 */
export declare class ChannelElement extends ObjectElement {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get address(): StringElement | null;
    set address(address: StringElement | null);
    get messages(): MessagesElement | undefined;
    set messages(messages: MessagesElement | undefined);
    get title(): StringElement | undefined;
    set title(title: StringElement | undefined);
    get description(): StringElement | undefined;
    set description(description: StringElement | undefined);
    get summary(): StringElement | undefined;
    set summary(summary: StringElement | undefined);
    get servers(): ArrayElement | undefined;
    set servers(servers: ArrayElement | undefined);
    get parameters(): ParametersElement | undefined;
    set parameters(parameters: ParametersElement | undefined);
    get tags(): TagsElement | undefined;
    set tags(tags: TagsElement | undefined);
    get externalDocs(): ExternalDocumentationElement | ReferenceElement | undefined;
    set externalDocs(externalDocs: ExternalDocumentationElement | ReferenceElement | undefined);
    get bindings(): ChannelBindingsElement | undefined;
    set bindings(bindings: ChannelBindingsElement | undefined);
}

/**
 * @public
 */
export declare class ChannelsElement extends ChannelsElement_2 {
}

/**
 * @public
 */
export declare class ComponentsElement extends ComponentsElement_2 {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get operations(): ObjectElement | undefined;
    set operations(operations: ObjectElement | undefined);
    get replies(): ObjectElement | undefined;
    set replies(replies: ObjectElement | undefined);
    get replyAddresses(): ObjectElement | undefined;
    set replyAddresses(replyAddresses: ObjectElement | undefined);
    get externalDocs(): ObjectElement | undefined;
    set externalDocs(externalDocs: ObjectElement | undefined);
    get tags(): TagsElement | undefined;
    set tags(tags: TagsElement | undefined);
}

/**
 * @public
 */
export declare class ContactElement extends ContactElement_2 {
}

/**
 * @public
 */
export declare class CorrelationIDElement extends CorrelationIDElement_2 {
}

/**
 * @public
 */
export declare class DefaultContentTypeElement extends DefaultContentTypeElement_2 {
}

/**
 * @public
 */
export declare class ExternalDocumentationElement extends ExternalDocumentationElement_2 {
}

/**
 * @public
 */
export declare type Format = 'generic' | 'json' | 'yaml';

/**
 * @public
 */
export declare const getNodeType: <T extends Element_2>(element: T) => string | undefined;

/**
 * @public
 */
export declare class GooglepubsubChannelBindingElement extends GooglepubsubChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class GooglepubsubMessageBindingElement extends GooglepubsubMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class GooglepubsubOperationBindingElement extends GooglepubsubOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class GooglepubsubServerBindingElement extends GooglepubsubServerBindingElement_2 {
}

/**
 * @public
 */
export declare class HttpChannelBindingElement extends HttpChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class HttpMessageBindingElement extends HttpMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class HttpOperationBindingElement extends HttpOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class HttpServerBindingElement extends HttpServerBindingElement_2 {
}

/**
 * @public
 */
export declare class IbmmqChannelBindingElement extends IbmmqChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class IbmmqMessageBindingElement extends IbmmqMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class IbmmqOperationBindingElement extends IbmmqOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class IbmmqServerBindingElement extends IbmmqServerBindingElement_2 {
}

/**
 * @public
 */
export declare class IdentifierElement extends IdentifierElement_2 {
}

/**
 * @public
 */
export declare class InfoElement extends InfoElement_2 {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get tags(): TagsElement | undefined;
    set tags(tags: TagsElement | undefined);
    get externalDocs(): ExternalDocumentationElement | ReferenceElement | undefined;
    set externalDocs(externalDocs: ExternalDocumentationElement | ReferenceElement | undefined);
}

/**
 * @public
 */
export declare const isAsyncApi3Element: ElementPredicate<AsyncApi3Element>;

/**
 * @public
 */
export declare const isAsyncApiVersionElement: ElementPredicate<AsyncApiVersionElement>;

/**
 * @public
 */
export declare const isChannelBindingsElement: ElementPredicate<ChannelBindingsElement>;

/**
 * @public
 */
export declare const isChannelElement: ElementPredicate<ChannelElement>;

/**
 * @public
 */
export declare const isChannelsElement: ElementPredicate<ChannelsElement>;

/**
 * @public
 */
export declare const isComponentsElement: ElementPredicate<ComponentsElement>;

/**
 * @public
 */
export declare const isContactElement: ElementPredicate<ContactElement>;

/**
 * @public
 */
export declare const isIdentifierElement: ElementPredicate<IdentifierElement>;

/**
 * @public
 */
export declare const isInfoElement: ElementPredicate<InfoElement>;

/**
 * @public
 */
export declare const isLicenseElement: ElementPredicate<LicenseElement>;

/**
 * @public
 */
export declare const isMultiFormatSchemaElement: ElementPredicate<MultiFormatSchemaElement>;

/**
 * @public
 */
export declare const isOperationElement: ElementPredicate<OperationElement>;

/**
 * @public
 */
export declare const isParameterElement: ElementPredicate<ParameterElement>;

/**
 * @public
 */
export declare const isParametersElement: ElementPredicate<ParametersElement>;

/**
 * @public
 */
export declare const isReferenceElement: ElementPredicate<ReferenceElement>;

/**
 * @public
 */
export declare const isSchemaElement: ElementPredicate<SchemaElement>;

/**
 * @public
 */
export declare const isServerBindingsElement: ElementPredicate<ServerBindingsElement>;

/**
 * @public
 */
export declare const isServerElement: ElementPredicate<ServerElement>;

/**
 * @public
 */
export declare const isServersElement: ElementPredicate<ServersElement>;

/**
 * @public
 */
export declare const isServerVariableElement: ElementPredicate<ServerVariableElement>;

/**
 * @public
 */
export declare class JmsChannelBindingElement extends JmsChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class JmsMessageBindingElement extends JmsMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class JmsOperationBindingElement extends JmsOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class JmsServerBindingElement extends JmsServerBindingElement_2 {
}

/**
 * @public
 */
export declare class KafkaChannelBindingElement extends KafkaChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class KafkaMessageBindingElement extends KafkaMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class KafkaOperationBindingElement extends KafkaOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class KafkaServerBindingElement extends KafkaServerBindingElement_2 {
}

/**
 * @public
 */
export declare const keyMap: {
    ObjectElement: string[];
    ArrayElement: string[];
    MemberElement: string[];
    StringElement: never[];
    BooleanElement: never[];
    NumberElement: never[];
    NullElement: never[];
    RefElement: never[];
    LinkElement: never[];
    Annotation: never[];
    Comment: never[];
    ParseResultElement: string[];
    /**
     * `AsyncApi 3.0.0` specification elements.
     */
    AsyncApi3Element: string[];
    AsyncApiVersionElement: never[];
    ChannelBindingsElement: string[];
    ChannelElement: string[];
    ChannelsElement: string[];
    ComponentsElement: string[];
    ContactElement: string[];
    CorrelationIDElement: string[];
    DefaultContentTypeElement: never[];
    ExternalDocumentationElement: string[];
    InfoElement: string[];
    LicenseElement: string[];
    MessagesElement: string[];
    MessageElement: string[];
    MessageExampleElement: string[];
    MessageBindingsElement: string[];
    MessageTraitElement: string[];
    MultiFormatSchemaElement: string[];
    OAuthFlowElement: string[];
    OAuthFlowsElement: string[];
    OperationsElement: string[];
    OperationElement: string[];
    OperationBindingsElement: string[];
    OperationReplyElement: string[];
    OperationReplyAddressElement: string[];
    OperationTraitElement: string[];
    ParameterElement: string[];
    ParametersElement: string[];
    ReferenceElement: string[];
    SchemaElement: string[];
    SecuritySchemeElement: string[];
    ServerElement: string[];
    ServerBindingsElement: string[];
    ServersElement: string[];
    ServerVariableElement: string[];
    TagElement: string[];
    TagsElement: string[];
    /**
     * Binding elements.
     */
    AmqpChannelBindingElement: string[];
    AmqpMessageBindingElement: string[];
    AmqpOperationBindingElement: string[];
    AmqpServerBindingElement: string[];
    Amqp1ChannelBindingElement: string[];
    Amqp1MessageBindingElement: string[];
    Amqp1OperationBindingElement: string[];
    Amqp1ServerBindingElement: string[];
    AnypointmqChannelBindingElement: string[];
    AnypointmqMessageBindingElement: string[];
    AnypointmqOperationBindingElement: string[];
    AnypointmqServerBindingElement: string[];
    GooglepubsubChannelBindingElement: string[];
    GooglepubsubMessageBindingElement: string[];
    GooglepubsubOperationBindingElement: string[];
    GooglepubsubServerBindingElement: string[];
    HttpChannelBindingElement: string[];
    HttpMessageBindingElement: string[];
    HttpOperationBindingElement: string[];
    HttpServerBindingElement: string[];
    IbmmqChannelBindingElement: string[];
    IbmmqMessageBindingElement: string[];
    IbmmqChannelOperationElement: string[];
    IbmmqServerBindingElement: string[];
    JmsChannelBindingElement: string[];
    JmsMessageBindingElement: string[];
    JmsOperationBindingElement: string[];
    JmsServerBindingElement: string[];
    KafkaChannelBindingElement: string[];
    KafkaMessageBindingElement: string[];
    KafkaOperationBindingElement: string[];
    KafkaServerBindingElement: string[];
    MercureChannelBindingElement: string[];
    MercureMessageBindingElement: string[];
    MercureOperationBindingElement: string[];
    MercureServerBindingElement: string[];
    MqttChannelBindingElement: string[];
    MqttMessageBindingElement: string[];
    MqttOperationBindingElement: string[];
    MqttServerBindingElement: string[];
    Mqtt5ChannelBindingElement: string[];
    Mqtt5MessageBindingElement: string[];
    Mqtt5OperationBindingElement: string[];
    Mqtt5ServerBindingElement: string[];
    NatsChannelBindingElement: string[];
    NatsMessageBindingElement: string[];
    NatsOperationBindingElement: string[];
    NatsServerBindingElement: string[];
    PulsarChannelBindingElement: string[];
    PulsarMessageBindingElement: string[];
    PulsarOperationBindingElement: string[];
    PulsarServerBindingElement: string[];
    RedisChannelBindingElement: string[];
    RedisMessageBindingElement: string[];
    RedisOperationBindingElement: string[];
    RedisServerBindingElement: string[];
    SnsChannelBindingElement: string[];
    SnsMessageBindingElement: string[];
    SnsOperationBindingElement: string[];
    SnsServerBindingElement: string[];
    SolaceChannelBindingElement: string[];
    SolaceMessageBindingElement: string[];
    SolaceOperationBindingElement: string[];
    SolaceServerBindingElement: string[];
    SqsChannelBindingElement: string[];
    SqsMessageBindingElement: string[];
    SqsOperationBindingElement: string[];
    SqsServerBindingElement: string[];
    StompChannelBindingElement: string[];
    StompMessageBindingElement: string[];
    StompOperationBindingElement: string[];
    StompServerBindingElement: string[];
    WebSocketChannelBindingElement: string[];
    WebSocketMessageBindingElement: string[];
    WebSocketOperationBindingElement: string[];
    WebSocketServerBindingElement: string[];
};

/**
 * @public
 */
export declare class LicenseElement extends LicenseElement_2 {
}

/**
 * @public
 */
export declare const mediaTypes: AsyncAPIMediaTypes;

/**
 * @public
 */
export declare class MercureChannelBindingElement extends MercureChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class MercureMessageBindingElement extends MercureMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class MercureOperationBindingElement extends MercureOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class MercureServerBindingElement extends MercureServerBindingElement_2 {
}

/**
 * @public
 */
export declare class MessageBindingsElement extends MessageBindingsElement_2 {
}

/**
 * @public
 */
export declare class MessageElement extends MessageElement_2 {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get messageId(): StringElement | undefined;
    set messageId(messageId: StringElement | undefined);
    get headers(): MultiFormatSchemaElement | SchemaElement | ReferenceElement | undefined | any;
    set headers(headers: MultiFormatSchemaElement | SchemaElement | ReferenceElement | undefined | any);
    get payload(): MultiFormatSchemaElement | SchemaElement | ReferenceElement | undefined | any;
    set payload(payload: MultiFormatSchemaElement | SchemaElement | ReferenceElement | undefined | any);
    get externalDocs(): ExternalDocumentationElement_2 | ReferenceElement | undefined | any;
    set externalDocs(externalDocs: ExternalDocumentationElement_2 | ReferenceElement | undefined | any);
}

/**
 * @public
 */
export declare class MessageExampleElement extends MessageExampleElement_2 {
}

/**
 * @public
 */
export declare class MessagesElement extends ObjectElement {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
}

/**
 * @public
 */
export declare class MessageTraitElement extends MessageTraitElement_2 {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get messageId(): StringElement | undefined;
    set messageId(messageId: StringElement | undefined);
    get headers(): MultiFormatSchemaElement | SchemaElement | ReferenceElement | undefined | any;
    set headers(headers: MultiFormatSchemaElement | SchemaElement | ReferenceElement | undefined | any);
    get externalDocs(): ExternalDocumentationElement | ReferenceElement | undefined | any;
    set externalDocs(externalDocs: ExternalDocumentationElement | ReferenceElement | undefined | any);
}

/**
 * @public
 */
export declare class Mqtt5ChannelBindingElement extends Mqtt5ChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class Mqtt5MessageBindingElement extends Mqtt5MessageBindingElement_2 {
}

/**
 * @public
 */
export declare class Mqtt5OperationBindingElement extends Mqtt5OperationBindingElement_2 {
}

/**
 * @public
 */
export declare class Mqtt5ServerBindingElement extends Mqtt5ServerBindingElement_2 {
}

/**
 * @public
 */
export declare class MqttChannelBindingElement extends MqttChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class MqttMessageBindingElement extends MqttMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class MqttOperationBindingElement extends MqttOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class MqttServerBindingElement extends MqttServerBindingElement_2 {
}

/**
 * @public
 */
export declare class MultiFormatSchemaElement extends ObjectElement {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get schemaFormat(): StringElement | undefined;
    set schemaFormat(schemaFormat: StringElement | undefined);
    get schema(): any;
    set schema(schema: any);
}

/**
 * @public
 */
export declare class NatsChannelBindingElement extends NatsChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class NatsMessageBindingElement extends NatsMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class NatsOperationBindingElement extends NatsOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class NatsServerBindingElement extends NatsServerBindingElement_2 {
}

/**
 * @public
 */
export declare class OAuthFlowElement extends OAuthFlowElement_2 {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get scopes(): ObjectElement | undefined;
    set scopes(scopes: ObjectElement | undefined);
    get availableScopes(): ObjectElement | undefined;
    set availableScopes(availableScopes: ObjectElement | undefined);
}

/**
 * @public
 */
export declare class OAuthFlowsElement extends OAuthFlowsElement_2 {
}

/**
 * @public
 */
export declare class OperationBindingsElement extends OperationBindingsElement_2 {
}

/**
 * @public
 */
export declare class OperationElement extends ObjectElement {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get action(): 'send' | 'receive' | undefined;
    set action(value: 'send' | 'receive' | undefined);
    get channel(): ReferenceElement | undefined;
    set channel(channel: ReferenceElement | undefined);
    get title(): StringElement | undefined;
    set title(title: StringElement | undefined);
    get summary(): StringElement | undefined;
    set summary(summary: StringElement | undefined);
    get description(): StringElement | undefined;
    set description(description: StringElement | undefined);
    get security(): ArrayElement | undefined;
    set security(security: ArrayElement | undefined);
    get messages(): ArrayElement | undefined;
    set messages(message: ArrayElement | undefined);
    get traits(): ArrayElement | undefined;
    set traits(OperationTrait: ArrayElement | undefined);
}

/**
 * @public
 */
export declare class OperationReplyAddressElement extends ObjectElement {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get description(): StringElement | undefined;
    set description(value: StringElement | undefined);
    get location(): StringElement | undefined;
    set location(value: StringElement | undefined);
}

/**
 * @public
 */
export declare class OperationReplyElement extends ObjectElement {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get address(): OperationReplyAddressElement | ReferenceElement | undefined;
    set address(address: OperationReplyAddressElement | ReferenceElement | undefined);
    get channel(): ReferenceElement | undefined;
    set channel(channel: ReferenceElement | undefined);
    get messages(): ArrayElement | undefined;
    set messages(messages: ArrayElement | undefined);
}

/**
 * @public
 */
export declare class OperationsElement extends ObjectElement {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
}

/**
 * @public
 */
export declare class OperationTraitElement extends OperationTraitElement_2 {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get operationId(): ObjectElement | undefined;
    set operationId(operationId: ObjectElement | undefined);
    get title(): StringElement | undefined;
    set title(title: StringElement | undefined);
    get externalDocs(): ExternalDocumentationElement | ReferenceElement | undefined | any;
    set externalDocs(externalDocs: ExternalDocumentationElement | ReferenceElement | undefined | any);
}

/**
 * @public
 */
export declare class ParameterElement extends ObjectElement {
    constructor(content?: any, meta?: any, attributes?: any);
    get enum(): ArrayElement | undefined;
    set enum(value: ArrayElement | undefined);
    get default(): StringElement | undefined;
    set default(value: StringElement | undefined);
    get description(): StringElement | undefined;
    set description(value: StringElement | undefined);
    get examples(): ArrayElement | undefined;
    set examples(value: ArrayElement | undefined);
    get location(): StringElement | undefined;
    set location(value: StringElement | undefined);
}

/**
 * @public
 */
export declare class ParametersElement extends ParametersElement_2 {
}

/**
 * @public
 */
export declare class PulsarChannelBindingElement extends PulsarChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class PulsarMessageBindingElement extends PulsarMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class PulsarOperationBindingElement extends PulsarOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class PulsarServerBindingElement extends PulsarServerBindingElement_2 {
}

/**
 * @public
 */
export declare class RedisChannelBindingElement extends RedisChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class RedisMessageBindingElement extends RedisMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class RedisOperationBindingElement extends RedisOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class RedisServerBindingElement extends RedisServerBindingElement_2 {
}

/**
 * @public
 */
export declare class ReferenceElement extends ReferenceElement_2 {
}

/**
 * @public
 */
export declare const refractorPluginReplaceEmptyElement: () => () => {
    visitor: {
        StringElement(element: StringElement, key: unknown, parent: unknown, path: unknown, ancestors: Record<string, unknown>[] | unknown[]): {
            [key: string]: any;
            startPositionRow?: number;
            startPositionColumn?: number;
            startIndex?: number;
            endPositionRow?: number;
            endPositionColumn?: number;
            endIndex?: number;
        } | undefined;
    };
};

/**
 * @public
 */
export declare class SchemaElement extends SchemaElement_2 {
    get externalDocs(): ExternalDocumentationElement | ReferenceElement | undefined | any;
    set externalDocs(externalDocs: ExternalDocumentationElement | ReferenceElement | undefined | any);
}

/**
 * @public
 */
export declare class SecuritySchemeElement extends SecuritySchemeElement_2 {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get scopes(): ArrayElement | undefined;
    set scopes(scopes: ArrayElement | undefined);
}

/**
 * @public
 */
export declare class ServerBindingsElement extends ServerBindingsElement_2 {
}

/**
 * @public
 */
export declare class ServerElement extends ServerElement_2 {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get url(): StringElement | undefined;
    set url(url: StringElement | undefined);
    get host(): StringElement | undefined;
    set host(host: StringElement | undefined);
    get pathName(): StringElement | undefined;
    set pathName(pathName: StringElement | undefined);
    get description(): StringElement | undefined;
    set description(description: StringElement | undefined);
    get title(): StringElement | undefined;
    set title(title: StringElement | undefined);
    get summary(): StringElement | undefined;
    set summary(summary: StringElement | undefined);
    get externalDocs(): ExternalDocumentationElement | ReferenceElement | undefined;
    set externalDocs(externalDocs: ExternalDocumentationElement | ReferenceElement | undefined);
}

/**
 * @public
 */
export declare class ServersElement extends ServersElement_2 {
}

/**
 * @public
 */
export declare class ServerVariableElement extends ServerVariableElement_2 {
}

/**
 * @public
 */
export declare class SnsChannelBindingElement extends SnsChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class SnsMessageBindingElement extends SnsMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class SnsOperationBindingElement extends SnsOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class SnsServerBindingElement extends SnsServerBindingElement_2 {
}

/**
 * @public
 */
export declare class SolaceChannelBindingElement extends SolaceChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class SolaceMessageBindingElement extends SolaceMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class SolaceOperationBindingElement extends SolaceOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class SolaceServerBindingElement extends SolaceServerBindingElement_2 {
}

/**
 * @public
 */
export declare class SqsChannelBindingElement extends SqsChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class SqsMessageBindingElement extends SqsMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class SqsOperationBindingElement extends SqsOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class SqsServerBindingElement extends SqsServerBindingElement_2 {
}

/**
 * @public
 */
export declare class StompChannelBindingElement extends StompChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class StompMessageBindingElement extends StompMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class StompOperationBindingElement extends StompOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class StompServerBindingElement extends StompServerBindingElement_2 {
}

/**
 * @public
 */
export declare class TagElement extends TagElement_2 {
    constructor(content?: Record<string, unknown>, meta?: Meta, attributes?: Attributes);
    get externalDocs(): ExternalDocumentationElement | ReferenceElement | undefined | any;
    set externalDocs(externalDocs: ExternalDocumentationElement | ReferenceElement | undefined | any);
}

/**
 * @public
 */
export declare class TagsElement extends TagsElement_2 {
}

/**
 * @public
 */
export declare class WebSocketChannelBindingElement extends WebSocketChannelBindingElement_2 {
}

/**
 * @public
 */
export declare class WebSocketMessageBindingElement extends WebSocketMessageBindingElement_2 {
}

/**
 * @public
 */
export declare class WebSocketOperationBindingElement extends WebSocketOperationBindingElement_2 {
}

/**
 * @public
 */
export declare class WebSocketServerBindingElement extends WebSocketServerBindingElement_2 {
}

export { }
