import { ISecurityGroup } from "aws-cdk-lib/aws-ec2";
import { Construct } from "constructs";
import { IActiveMqBroker } from "./activemq-broker";
import { ActiveMqBrokerDeploymentBase, ActiveMqBrokerDeploymentProps, IActiveMqBrokerDeployment } from "./activemq-broker-deployment";
export interface IActiveMqBrokerRedundantPair extends IActiveMqBrokerDeployment {
    readonly first: IActiveMqBroker;
    readonly second: IActiveMqBroker;
}
export interface ActiveMqBrokerRedundantPairProps extends ActiveMqBrokerDeploymentProps {
}
/**
 * A representation of an active/standby broker that is comprised of two brokers in two different Availability Zones.
 *
 * Additional optimizations:
 * - When subnet selection returns more then 2 subnets. Construct picks first two that do belong to different AZ. Warning is annotated. If subnet selection does not meet AZ criteria an error is thrown.
 *
 *
 * see: https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/active-standby-broker-deployment.html
 */
export declare class ActiveMqBrokerRedundantPair extends ActiveMqBrokerDeploymentBase implements IActiveMqBrokerRedundantPair {
    /**
     * Reference an existing ActiveMQ Broker Redundant Pair, defined outside of the CDK code, by ARN.
     *
     * @param scope
     * @param logicalId the construct's logical ID
     * @param arn the ARN of the existing ActiveMQ Broker Redundant Pair that is imported
     * @param securityGroups optionally pass security groups for working with network connections
     * @returns a representation of the ActiveMQ Broker Redundant Pair
     */
    static fromActiveMqBrokerRedundantPairArn(scope: Construct, logicalId: string, arn: string, securityGroups?: ISecurityGroup[]): IActiveMqBrokerRedundantPair;
    /**
     * Reference an existing ActiveMQ Broker Redundant Pair, defined outside of the CDK code, by its name and id.
     *
     * @param scope
     * @param logicalId
     * @param name the name of the existing ActiveMQ Broker Redundant Pair to be imported
     * @param id the ID of the existing ActiveMQ Broker Redundant Pair to be imported
     * @param securityGroups (optional) pass security groups for working with network connections
     * @returns a representation of the ActiveMQ Broker Redundant Pair
     */
    static fromActiveMqBrokerRedundantPairNameAndId(scope: Construct, logicalId: string, name: string, id: string, securityGroups?: ISecurityGroup[]): IActiveMqBrokerRedundantPair;
    /**
     *
     * @internal
     */
    private static _assignEndpoints;
    /**
     * The first broker of the redundant pair for the deployment.
     */
    readonly first: IActiveMqBroker;
    /**
     * The second broker of the redundant pair for the deployment.
     */
    readonly second: IActiveMqBroker;
    constructor(scope: Construct, id: string, props: ActiveMqBrokerRedundantPairProps);
}
