/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataDatabricksCleanRoomsCleanRoomConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#comment DataDatabricksCleanRoomsCleanRoom#comment}
    */
    readonly comment?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#name DataDatabricksCleanRoomsCleanRoom#name}
    */
    readonly name?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#owner DataDatabricksCleanRoomsCleanRoom#owner}
    */
    readonly owner?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#remote_detailed_info DataDatabricksCleanRoomsCleanRoom#remote_detailed_info}
    */
    readonly remoteDetailedInfo?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfo;
}
export interface DataDatabricksCleanRoomsCleanRoomOutputCatalog {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#catalog_name DataDatabricksCleanRoomsCleanRoom#catalog_name}
    */
    readonly catalogName?: string;
}
export declare function dataDatabricksCleanRoomsCleanRoomOutputCatalogToTerraform(struct?: DataDatabricksCleanRoomsCleanRoomOutputCatalog): any;
export declare function dataDatabricksCleanRoomsCleanRoomOutputCatalogToHclTerraform(struct?: DataDatabricksCleanRoomsCleanRoomOutputCatalog): any;
export declare class DataDatabricksCleanRoomsCleanRoomOutputCatalogOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): DataDatabricksCleanRoomsCleanRoomOutputCatalog | undefined;
    set internalValue(value: DataDatabricksCleanRoomsCleanRoomOutputCatalog | undefined);
    private _catalogName?;
    get catalogName(): string;
    set catalogName(value: string);
    resetCatalogName(): void;
    get catalogNameInput(): string | undefined;
    get status(): string;
}
export interface DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaborators {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#collaborator_alias DataDatabricksCleanRoomsCleanRoom#collaborator_alias}
    */
    readonly collaboratorAlias: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#global_metastore_id DataDatabricksCleanRoomsCleanRoom#global_metastore_id}
    */
    readonly globalMetastoreId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#invite_recipient_email DataDatabricksCleanRoomsCleanRoom#invite_recipient_email}
    */
    readonly inviteRecipientEmail?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#invite_recipient_workspace_id DataDatabricksCleanRoomsCleanRoom#invite_recipient_workspace_id}
    */
    readonly inviteRecipientWorkspaceId?: number;
}
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaboratorsToTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaborators | cdktf.IResolvable): any;
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaboratorsToHclTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaborators | cdktf.IResolvable): any;
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaboratorsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaborators | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaborators | cdktf.IResolvable | undefined);
    private _collaboratorAlias?;
    get collaboratorAlias(): string;
    set collaboratorAlias(value: string);
    get collaboratorAliasInput(): string | undefined;
    get displayName(): string;
    private _globalMetastoreId?;
    get globalMetastoreId(): string;
    set globalMetastoreId(value: string);
    resetGlobalMetastoreId(): void;
    get globalMetastoreIdInput(): string | undefined;
    private _inviteRecipientEmail?;
    get inviteRecipientEmail(): string;
    set inviteRecipientEmail(value: string);
    resetInviteRecipientEmail(): void;
    get inviteRecipientEmailInput(): string | undefined;
    private _inviteRecipientWorkspaceId?;
    get inviteRecipientWorkspaceId(): number;
    set inviteRecipientWorkspaceId(value: number);
    resetInviteRecipientWorkspaceId(): void;
    get inviteRecipientWorkspaceIdInput(): number | undefined;
    get organizationName(): string;
}
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaboratorsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaborators[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaboratorsOutputReference;
}
export interface DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoComplianceSecurityProfile {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#compliance_standards DataDatabricksCleanRoomsCleanRoom#compliance_standards}
    */
    readonly complianceStandards?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#is_enabled DataDatabricksCleanRoomsCleanRoom#is_enabled}
    */
    readonly isEnabled?: boolean | cdktf.IResolvable;
}
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoComplianceSecurityProfileToTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoComplianceSecurityProfile): any;
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoComplianceSecurityProfileToHclTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoComplianceSecurityProfile): any;
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoComplianceSecurityProfileOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoComplianceSecurityProfile | undefined;
    set internalValue(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoComplianceSecurityProfile | undefined);
    private _complianceStandards?;
    get complianceStandards(): string[];
    set complianceStandards(value: string[]);
    resetComplianceStandards(): void;
    get complianceStandardsInput(): string[] | undefined;
    private _isEnabled?;
    get isEnabled(): boolean | cdktf.IResolvable;
    set isEnabled(value: boolean | cdktf.IResolvable);
    resetIsEnabled(): void;
    get isEnabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCreator {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#collaborator_alias DataDatabricksCleanRoomsCleanRoom#collaborator_alias}
    */
    readonly collaboratorAlias: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#global_metastore_id DataDatabricksCleanRoomsCleanRoom#global_metastore_id}
    */
    readonly globalMetastoreId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#invite_recipient_email DataDatabricksCleanRoomsCleanRoom#invite_recipient_email}
    */
    readonly inviteRecipientEmail?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#invite_recipient_workspace_id DataDatabricksCleanRoomsCleanRoom#invite_recipient_workspace_id}
    */
    readonly inviteRecipientWorkspaceId?: number;
}
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCreatorToTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCreator): any;
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCreatorToHclTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCreator): any;
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCreatorOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCreator | undefined;
    set internalValue(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCreator | undefined);
    private _collaboratorAlias?;
    get collaboratorAlias(): string;
    set collaboratorAlias(value: string);
    get collaboratorAliasInput(): string | undefined;
    get displayName(): string;
    private _globalMetastoreId?;
    get globalMetastoreId(): string;
    set globalMetastoreId(value: string);
    resetGlobalMetastoreId(): void;
    get globalMetastoreIdInput(): string | undefined;
    private _inviteRecipientEmail?;
    get inviteRecipientEmail(): string;
    set inviteRecipientEmail(value: string);
    resetInviteRecipientEmail(): void;
    get inviteRecipientEmailInput(): string | undefined;
    private _inviteRecipientWorkspaceId?;
    get inviteRecipientWorkspaceId(): number;
    set inviteRecipientWorkspaceId(value: number);
    resetInviteRecipientWorkspaceId(): void;
    get inviteRecipientWorkspaceIdInput(): number | undefined;
    get organizationName(): string;
}
export interface DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinations {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#destination DataDatabricksCleanRoomsCleanRoom#destination}
    */
    readonly destination?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#protocol DataDatabricksCleanRoomsCleanRoom#protocol}
    */
    readonly protocol?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#type DataDatabricksCleanRoomsCleanRoom#type}
    */
    readonly type?: string;
}
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinationsToTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinations | cdktf.IResolvable): any;
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinationsToHclTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinations | cdktf.IResolvable): any;
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinationsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinations | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinations | cdktf.IResolvable | undefined);
    private _destination?;
    get destination(): string;
    set destination(value: string);
    resetDestination(): void;
    get destinationInput(): string | undefined;
    private _protocol?;
    get protocol(): string;
    set protocol(value: string);
    resetProtocol(): void;
    get protocolInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    resetType(): void;
    get typeInput(): string | undefined;
}
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinationsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinations[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinationsOutputReference;
}
export interface DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinations {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#allowed_paths DataDatabricksCleanRoomsCleanRoom#allowed_paths}
    */
    readonly allowedPaths?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#azure_container DataDatabricksCleanRoomsCleanRoom#azure_container}
    */
    readonly azureContainer?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#azure_dns_zone DataDatabricksCleanRoomsCleanRoom#azure_dns_zone}
    */
    readonly azureDnsZone?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#azure_storage_account DataDatabricksCleanRoomsCleanRoom#azure_storage_account}
    */
    readonly azureStorageAccount?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#azure_storage_service DataDatabricksCleanRoomsCleanRoom#azure_storage_service}
    */
    readonly azureStorageService?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#bucket_name DataDatabricksCleanRoomsCleanRoom#bucket_name}
    */
    readonly bucketName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#region DataDatabricksCleanRoomsCleanRoom#region}
    */
    readonly region?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#type DataDatabricksCleanRoomsCleanRoom#type}
    */
    readonly type?: string;
}
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinationsToTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinations | cdktf.IResolvable): any;
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinationsToHclTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinations | cdktf.IResolvable): any;
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinationsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinations | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinations | cdktf.IResolvable | undefined);
    private _allowedPaths?;
    get allowedPaths(): string[];
    set allowedPaths(value: string[]);
    resetAllowedPaths(): void;
    get allowedPathsInput(): string[] | undefined;
    private _azureContainer?;
    get azureContainer(): string;
    set azureContainer(value: string);
    resetAzureContainer(): void;
    get azureContainerInput(): string | undefined;
    private _azureDnsZone?;
    get azureDnsZone(): string;
    set azureDnsZone(value: string);
    resetAzureDnsZone(): void;
    get azureDnsZoneInput(): string | undefined;
    private _azureStorageAccount?;
    get azureStorageAccount(): string;
    set azureStorageAccount(value: string);
    resetAzureStorageAccount(): void;
    get azureStorageAccountInput(): string | undefined;
    private _azureStorageService?;
    get azureStorageService(): string;
    set azureStorageService(value: string);
    resetAzureStorageService(): void;
    get azureStorageServiceInput(): string | undefined;
    private _bucketName?;
    get bucketName(): string;
    set bucketName(value: string);
    resetBucketName(): void;
    get bucketNameInput(): string | undefined;
    private _region?;
    get region(): string;
    set region(value: string);
    resetRegion(): void;
    get regionInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    resetType(): void;
    get typeInput(): string | undefined;
}
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinationsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinations[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinationsOutputReference;
}
export interface DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyMode {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#log_only_mode_type DataDatabricksCleanRoomsCleanRoom#log_only_mode_type}
    */
    readonly logOnlyModeType?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#workloads DataDatabricksCleanRoomsCleanRoom#workloads}
    */
    readonly workloads?: string[];
}
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyModeToTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyMode | cdktf.IResolvable): any;
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyModeToHclTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyMode | cdktf.IResolvable): any;
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyModeOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyMode | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyMode | cdktf.IResolvable | undefined);
    private _logOnlyModeType?;
    get logOnlyModeType(): string;
    set logOnlyModeType(value: string);
    resetLogOnlyModeType(): void;
    get logOnlyModeTypeInput(): string | undefined;
    private _workloads?;
    get workloads(): string[];
    set workloads(value: string[]);
    resetWorkloads(): void;
    get workloadsInput(): string[] | undefined;
}
export interface DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccess {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#allowed_internet_destinations DataDatabricksCleanRoomsCleanRoom#allowed_internet_destinations}
    */
    readonly allowedInternetDestinations?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinations[] | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#allowed_storage_destinations DataDatabricksCleanRoomsCleanRoom#allowed_storage_destinations}
    */
    readonly allowedStorageDestinations?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinations[] | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#log_only_mode DataDatabricksCleanRoomsCleanRoom#log_only_mode}
    */
    readonly logOnlyMode?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyMode;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#restriction_mode DataDatabricksCleanRoomsCleanRoom#restriction_mode}
    */
    readonly restrictionMode?: string;
}
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessToTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccess | cdktf.IResolvable): any;
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessToHclTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccess | cdktf.IResolvable): any;
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccess | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccess | cdktf.IResolvable | undefined);
    private _allowedInternetDestinations;
    get allowedInternetDestinations(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinationsList;
    putAllowedInternetDestinations(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinations[] | cdktf.IResolvable): void;
    resetAllowedInternetDestinations(): void;
    get allowedInternetDestinationsInput(): cdktf.IResolvable | DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedInternetDestinations[] | undefined;
    private _allowedStorageDestinations;
    get allowedStorageDestinations(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinationsList;
    putAllowedStorageDestinations(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinations[] | cdktf.IResolvable): void;
    resetAllowedStorageDestinations(): void;
    get allowedStorageDestinationsInput(): cdktf.IResolvable | DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessAllowedStorageDestinations[] | undefined;
    private _logOnlyMode;
    get logOnlyMode(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyModeOutputReference;
    putLogOnlyMode(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyMode): void;
    resetLogOnlyMode(): void;
    get logOnlyModeInput(): cdktf.IResolvable | DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessLogOnlyMode | undefined;
    private _restrictionMode?;
    get restrictionMode(): string;
    set restrictionMode(value: string);
    resetRestrictionMode(): void;
    get restrictionModeInput(): string | undefined;
}
export interface DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicy {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#internet_access DataDatabricksCleanRoomsCleanRoom#internet_access}
    */
    readonly internetAccess?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccess;
}
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyToTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicy | cdktf.IResolvable): any;
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyToHclTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicy | cdktf.IResolvable): any;
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicy | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicy | cdktf.IResolvable | undefined);
    private _internetAccess;
    get internetAccess(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccessOutputReference;
    putInternetAccess(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccess): void;
    resetInternetAccess(): void;
    get internetAccessInput(): cdktf.IResolvable | DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyInternetAccess | undefined;
}
export interface DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfo {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#cloud_vendor DataDatabricksCleanRoomsCleanRoom#cloud_vendor}
    */
    readonly cloudVendor?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#collaborators DataDatabricksCleanRoomsCleanRoom#collaborators}
    */
    readonly collaborators?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaborators[] | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#egress_network_policy DataDatabricksCleanRoomsCleanRoom#egress_network_policy}
    */
    readonly egressNetworkPolicy?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicy;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#region DataDatabricksCleanRoomsCleanRoom#region}
    */
    readonly region?: string;
}
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoToTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfo | cdktf.IResolvable): any;
export declare function dataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoToHclTerraform(struct?: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfo | cdktf.IResolvable): any;
export declare class DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfo | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfo | cdktf.IResolvable | undefined);
    get centralCleanRoomId(): string;
    private _cloudVendor?;
    get cloudVendor(): string;
    set cloudVendor(value: string);
    resetCloudVendor(): void;
    get cloudVendorInput(): string | undefined;
    private _collaborators;
    get collaborators(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaboratorsList;
    putCollaborators(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaborators[] | cdktf.IResolvable): void;
    resetCollaborators(): void;
    get collaboratorsInput(): cdktf.IResolvable | DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCollaborators[] | undefined;
    private _complianceSecurityProfile;
    get complianceSecurityProfile(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoComplianceSecurityProfileOutputReference;
    private _creator;
    get creator(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoCreatorOutputReference;
    private _egressNetworkPolicy;
    get egressNetworkPolicy(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicyOutputReference;
    putEgressNetworkPolicy(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicy): void;
    resetEgressNetworkPolicy(): void;
    get egressNetworkPolicyInput(): cdktf.IResolvable | DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoEgressNetworkPolicy | undefined;
    private _region?;
    get region(): string;
    set region(value: string);
    resetRegion(): void;
    get regionInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room databricks_clean_rooms_clean_room}
*/
export declare class DataDatabricksCleanRoomsCleanRoom extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "databricks_clean_rooms_clean_room";
    /**
    * Generates CDKTF code for importing a DataDatabricksCleanRoomsCleanRoom resource upon running "cdktf plan <stack-name>"
    * @param scope The scope in which to define this construct
    * @param importToId The construct id used in the generated config for the DataDatabricksCleanRoomsCleanRoom to import
    * @param importFromId The id of the existing DataDatabricksCleanRoomsCleanRoom that should be imported. Refer to the {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataDatabricksCleanRoomsCleanRoom to import is found
    */
    static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
    /**
    * Create a new {@link https://registry.terraform.io/providers/databricks/databricks/1.86.0/docs/data-sources/clean_rooms_clean_room databricks_clean_rooms_clean_room} Data Source
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options DataDatabricksCleanRoomsCleanRoomConfig = {}
    */
    constructor(scope: Construct, id: string, config?: DataDatabricksCleanRoomsCleanRoomConfig);
    get accessRestricted(): string;
    private _comment?;
    get comment(): string;
    set comment(value: string);
    resetComment(): void;
    get commentInput(): string | undefined;
    get createdAt(): number;
    get localCollaboratorAlias(): string;
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _outputCatalog;
    get outputCatalog(): DataDatabricksCleanRoomsCleanRoomOutputCatalogOutputReference;
    private _owner?;
    get owner(): string;
    set owner(value: string);
    resetOwner(): void;
    get ownerInput(): string | undefined;
    private _remoteDetailedInfo;
    get remoteDetailedInfo(): DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfoOutputReference;
    putRemoteDetailedInfo(value: DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfo): void;
    resetRemoteDetailedInfo(): void;
    get remoteDetailedInfoInput(): cdktf.IResolvable | DataDatabricksCleanRoomsCleanRoomRemoteDetailedInfo | undefined;
    get status(): string;
    get updatedAt(): number;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
