import { ISecurityGroup } from "aws-cdk-lib/aws-ec2";
import { Construct } from "constructs";
import { IRabbitMqBroker } from "./rabbitmq-broker";
import { IRabbitMqBrokerDeployment, RabbitMqBrokerDeploymentBase, RabbitMqBrokerDeploymentProps } from "./rabbitmq-broker-deployment";
export interface IRabbitMqBrokerCluster extends IRabbitMqBroker, IRabbitMqBrokerDeployment {
}
export interface RabbitMqBrokerClusterProps extends RabbitMqBrokerDeploymentProps {
}
/**
 * A representation of a RabbitMQ cluster deployment is a logical grouping of three RabbitMQ broker nodes behind a Network Load Balancer, each sharing users, queues, and a distributed state across multiple Availability Zones (AZ).
 */
export declare class RabbitMqBrokerCluster extends RabbitMqBrokerDeploymentBase implements IRabbitMqBrokerCluster {
    /**
     * Reference an existing RabbitMQ Broker Cluster, defined outside of the CDK code, by ARN.
     *
     * @param scope
     * @param logicalId the construct's logical ID
     * @param arn the ARN of the existing RabbitMQ Broker Cluster that is imported
     * @param securityGroups (optional) pass security groups for working with network connections
     * @param urlSuffix (optional) pass urlSuffix for the broker endpoints
     * @returns a representation of the RabbitMQ Broker Cluster
     */
    static fromRabbitMqBrokerClusterArn(scope: Construct, logicalId: string, arn: string, securityGroups?: ISecurityGroup[], urlSuffix?: string): IRabbitMqBrokerCluster;
    /**
     * Reference an existing RabbitMQ Broker Cluster, defined outside of the CDK code, by name and id.
     *
     * @param scope
     * @param logicalId the construct's logical ID
     * @param name the name of the existing RabbitMQ Broker Cluster to be imported
     * @param id the ID of the existing RabbitMQ Broker Cluster to be imported
     * @param securityGroups optionally pass security groups for working with network connections
     * @param urlSuffix (optional) pass urlSuffix for the broker endpoints
     * @returns a representation of the RabbitMQ Broker Cluster
     */
    static fromRabbitMqBrokerClusterNameAndId(scope: Construct, logicalId: string, name: string, id: string, securityGroups?: ISecurityGroup[], urlSuffix?: string): IRabbitMqBrokerCluster;
    constructor(scope: Construct, id: string, props: RabbitMqBrokerClusterProps);
}
