import { IEnvironmentAware } from "../environment-aware";
import * as constructs from "constructs";
/**
 * Indicates that this resource can be referenced as a VirtualCluster.
 *
 * @stability experimental
 */
export interface IVirtualClusterRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a VirtualCluster resource.
     */
    readonly virtualClusterRef: VirtualClusterReference;
}
/**
 * A reference to a VirtualCluster resource.
 *
 * @struct
 * @stability external
 */
export interface VirtualClusterReference {
    /**
     * The Id of the VirtualCluster resource.
     */
    readonly virtualClusterId: string;
    /**
     * The ARN of the VirtualCluster resource.
     */
    readonly virtualClusterArn: string;
}
/**
 * Indicates that this resource can be referenced as a Endpoint.
 *
 * @stability experimental
 */
export interface IEndpointRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a Endpoint resource.
     */
    readonly endpointRef: EndpointReference;
}
/**
 * A reference to a Endpoint resource.
 *
 * @struct
 * @stability external
 */
export interface EndpointReference {
    /**
     * The Arn of the Endpoint resource.
     */
    readonly endpointArn: string;
}
/**
 * Indicates that this resource can be referenced as a SecurityConfiguration.
 *
 * @stability experimental
 */
export interface ISecurityConfigurationRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a SecurityConfiguration resource.
     */
    readonly securityConfigurationRef: SecurityConfigurationReference;
}
/**
 * A reference to a SecurityConfiguration resource.
 *
 * @struct
 * @stability external
 */
export interface SecurityConfigurationReference {
    /**
     * The Arn of the SecurityConfiguration resource.
     */
    readonly securityConfigurationArn: string;
}
