import { IEnvironmentAware } from "../environment-aware";
import * as constructs from "constructs";
/**
 * Indicates that this resource can be referenced as a AgentSpace.
 *
 * @stability experimental
 */
export interface IAgentSpaceRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a AgentSpace resource.
     */
    readonly agentSpaceRef: AgentSpaceReference;
}
/**
 * A reference to a AgentSpace resource.
 *
 * @struct
 * @stability external
 */
export interface AgentSpaceReference {
    /**
     * The AgentSpaceId of the AgentSpace resource.
     */
    readonly agentSpaceId: string;
}
/**
 * Indicates that this resource can be referenced as a Application.
 *
 * @stability experimental
 */
export interface IApplicationRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a Application resource.
     */
    readonly applicationRef: ApplicationReference;
}
/**
 * A reference to a Application resource.
 *
 * @struct
 * @stability external
 */
export interface ApplicationReference {
    /**
     * The ApplicationId of the Application resource.
     */
    readonly applicationId: string;
}
/**
 * Indicates that this resource can be referenced as a Pentest.
 *
 * @stability experimental
 */
export interface IPentestRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a Pentest resource.
     */
    readonly pentestRef: PentestReference;
}
/**
 * A reference to a Pentest resource.
 *
 * @struct
 * @stability external
 */
export interface PentestReference {
    /**
     * The PentestId of the Pentest resource.
     */
    readonly pentestId: string;
    /**
     * The AgentSpaceId of the Pentest resource.
     */
    readonly agentSpaceId: string;
}
/**
 * Indicates that this resource can be referenced as a TargetDomain.
 *
 * @stability experimental
 */
export interface ITargetDomainRef extends constructs.IConstruct, IEnvironmentAware {
    /**
     * A reference to a TargetDomain resource.
     */
    readonly targetDomainRef: TargetDomainReference;
}
/**
 * A reference to a TargetDomain resource.
 *
 * @struct
 * @stability external
 */
export interface TargetDomainReference {
    /**
     * The TargetDomainId of the TargetDomain resource.
     */
    readonly targetDomainId: string;
}
