import { IEnvironmentAware } from "../environment-aware";
import * as constructs from "constructs";
/**
 * Indicates that this resource can be referenced as a AccessSource.
 *
 * @stability experimental
 */
export interface IAccessSourceRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a AccessSource resource.
     */
    readonly accessSourceRef: AccessSourceReference;
}
/**
 * A reference to a AccessSource resource.
 *
 * @struct
 * @stability external
 */
export interface AccessSourceReference {
    /**
     * The AccessSourceId of the AccessSource resource.
     */
    readonly accessSourceId: string;
    /**
     * The ARN of the AccessSource resource.
     */
    readonly accessSourceArn: string;
}
/**
 * Indicates that this resource can be referenced as a AccessToken.
 *
 * @stability experimental
 */
export interface IAccessTokenRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a AccessToken resource.
     */
    readonly accessTokenRef: AccessTokenReference;
}
/**
 * A reference to a AccessToken resource.
 *
 * @struct
 * @stability external
 */
export interface AccessTokenReference {
    /**
     * The AccessTokenId of the AccessToken resource.
     */
    readonly accessTokenId: string;
    /**
     * The ARN of the AccessToken resource.
     */
    readonly accessTokenArn: string;
}
/**
 * Indicates that this resource can be referenced as a DnsView.
 *
 * @stability experimental
 */
export interface IDnsViewRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a DnsView resource.
     */
    readonly dnsViewRef: DnsViewReference;
}
/**
 * A reference to a DnsView resource.
 *
 * @struct
 * @stability external
 */
export interface DnsViewReference {
    /**
     * The DnsViewId of the DnsView resource.
     */
    readonly dnsViewId: string;
    /**
     * The ARN of the DnsView resource.
     */
    readonly dnsViewArn: string;
}
/**
 * Indicates that this resource can be referenced as a FirewallDomainList.
 *
 * @stability experimental
 */
export interface IFirewallDomainListRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a FirewallDomainList resource.
     */
    readonly firewallDomainListRef: FirewallDomainListReference;
}
/**
 * A reference to a FirewallDomainList resource.
 *
 * @struct
 * @stability external
 */
export interface FirewallDomainListReference {
    /**
     * The FirewallDomainListId of the FirewallDomainList resource.
     */
    readonly firewallDomainListId: string;
    /**
     * The ARN of the FirewallDomainList resource.
     */
    readonly firewallDomainListArn: string;
}
/**
 * Indicates that this resource can be referenced as a FirewallRule.
 *
 * @stability experimental
 */
export interface IFirewallRuleRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a FirewallRule resource.
     */
    readonly firewallRuleRef: FirewallRuleReference;
}
/**
 * A reference to a FirewallRule resource.
 *
 * @struct
 * @stability external
 */
export interface FirewallRuleReference {
    /**
     * The FirewallRuleId of the FirewallRule resource.
     */
    readonly firewallRuleId: string;
}
/**
 * Indicates that this resource can be referenced as a GlobalResolver.
 *
 * @stability experimental
 */
export interface IGlobalResolverRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a GlobalResolver resource.
     */
    readonly globalResolverRef: GlobalResolverReference;
}
/**
 * A reference to a GlobalResolver resource.
 *
 * @struct
 * @stability external
 */
export interface GlobalResolverReference {
    /**
     * The GlobalResolverId of the GlobalResolver resource.
     */
    readonly globalResolverId: string;
    /**
     * The ARN of the GlobalResolver resource.
     */
    readonly globalResolverArn: string;
}
/**
 * Indicates that this resource can be referenced as a HostedZoneAssociation.
 *
 * @stability experimental
 */
export interface IHostedZoneAssociationRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a HostedZoneAssociation resource.
     */
    readonly hostedZoneAssociationRef: HostedZoneAssociationReference;
}
/**
 * A reference to a HostedZoneAssociation resource.
 *
 * @struct
 * @stability external
 */
export interface HostedZoneAssociationReference {
    /**
     * The HostedZoneAssociationId of the HostedZoneAssociation resource.
     */
    readonly hostedZoneAssociationId: string;
}
