/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataplexDatascanConfig extends cdktf.TerraformMetaArguments {
    /**
    * DataScan identifier. Must contain only lowercase letters, numbers and hyphens. Must start with a letter. Must end with a number or a letter.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#data_scan_id DataplexDatascan#data_scan_id}
    */
    readonly dataScanId: string;
    /**
    * Description of the scan.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#description DataplexDatascan#description}
    */
    readonly description?: string;
    /**
    * User friendly display name.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#display_name DataplexDatascan#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#id DataplexDatascan#id}
    *
    * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
    * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
    */
    readonly id?: string;
    /**
    * User-defined labels for the scan. A list of key->value pairs.
    *
    *
    * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
    * Please refer to the field 'effective_labels' for all of the labels present on the resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#labels DataplexDatascan#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * The location where the data scan should reside.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#location DataplexDatascan#location}
    */
    readonly location: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#project DataplexDatascan#project}
    */
    readonly project?: string;
    /**
    * data block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#data DataplexDatascan#data}
    */
    readonly data: DataplexDatascanData;
    /**
    * data_profile_spec block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#data_profile_spec DataplexDatascan#data_profile_spec}
    */
    readonly dataProfileSpec?: DataplexDatascanDataProfileSpec;
    /**
    * data_quality_spec block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#data_quality_spec DataplexDatascan#data_quality_spec}
    */
    readonly dataQualitySpec?: DataplexDatascanDataQualitySpec;
    /**
    * execution_spec block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#execution_spec DataplexDatascan#execution_spec}
    */
    readonly executionSpec: DataplexDatascanExecutionSpec;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#timeouts DataplexDatascan#timeouts}
    */
    readonly timeouts?: DataplexDatascanTimeouts;
}
export interface DataplexDatascanExecutionStatus {
}
export declare function dataplexDatascanExecutionStatusToTerraform(struct?: DataplexDatascanExecutionStatus): any;
export declare function dataplexDatascanExecutionStatusToHclTerraform(struct?: DataplexDatascanExecutionStatus): any;
export declare class DataplexDatascanExecutionStatusOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): DataplexDatascanExecutionStatus | undefined;
    set internalValue(value: DataplexDatascanExecutionStatus | undefined);
    get latestJobEndTime(): string;
    get latestJobStartTime(): string;
}
export declare class DataplexDatascanExecutionStatusList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): DataplexDatascanExecutionStatusOutputReference;
}
export interface DataplexDatascanData {
    /**
    * The Dataplex entity that represents the data source(e.g. BigQuery table) for Datascan.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#entity DataplexDatascan#entity}
    */
    readonly entity?: string;
    /**
    * The service-qualified full resource name of the cloud resource for a DataScan job to scan against. The field could be:
    * (Cloud Storage bucket for DataDiscoveryScan)BigQuery table of type "TABLE" for DataProfileScan/DataQualityScan.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#resource DataplexDatascan#resource}
    */
    readonly resource?: string;
}
export declare function dataplexDatascanDataToTerraform(struct?: DataplexDatascanDataOutputReference | DataplexDatascanData): any;
export declare function dataplexDatascanDataToHclTerraform(struct?: DataplexDatascanDataOutputReference | DataplexDatascanData): any;
export declare class DataplexDatascanDataOutputReference 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(): DataplexDatascanData | undefined;
    set internalValue(value: DataplexDatascanData | undefined);
    private _entity?;
    get entity(): string;
    set entity(value: string);
    resetEntity(): void;
    get entityInput(): string | undefined;
    private _resource?;
    get resource(): string;
    set resource(value: string);
    resetResource(): void;
    get resourceInput(): string | undefined;
}
export interface DataplexDatascanDataProfileSpecExcludeFields {
    /**
    * Expected input is a list of fully qualified names of fields as in the schema.
    * Only top-level field names for nested fields are supported.
    * For instance, if 'x' is of nested field type, listing 'x' is supported but 'x.y.z' is not supported. Here 'y' and 'y.z' are nested fields of 'x'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#field_names DataplexDatascan#field_names}
    */
    readonly fieldNames?: string[];
}
export declare function dataplexDatascanDataProfileSpecExcludeFieldsToTerraform(struct?: DataplexDatascanDataProfileSpecExcludeFieldsOutputReference | DataplexDatascanDataProfileSpecExcludeFields): any;
export declare function dataplexDatascanDataProfileSpecExcludeFieldsToHclTerraform(struct?: DataplexDatascanDataProfileSpecExcludeFieldsOutputReference | DataplexDatascanDataProfileSpecExcludeFields): any;
export declare class DataplexDatascanDataProfileSpecExcludeFieldsOutputReference 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(): DataplexDatascanDataProfileSpecExcludeFields | undefined;
    set internalValue(value: DataplexDatascanDataProfileSpecExcludeFields | undefined);
    private _fieldNames?;
    get fieldNames(): string[];
    set fieldNames(value: string[]);
    resetFieldNames(): void;
    get fieldNamesInput(): string[] | undefined;
}
export interface DataplexDatascanDataProfileSpecIncludeFields {
    /**
    * Expected input is a list of fully qualified names of fields as in the schema.
    * Only top-level field names for nested fields are supported.
    * For instance, if 'x' is of nested field type, listing 'x' is supported but 'x.y.z' is not supported. Here 'y' and 'y.z' are nested fields of 'x'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#field_names DataplexDatascan#field_names}
    */
    readonly fieldNames?: string[];
}
export declare function dataplexDatascanDataProfileSpecIncludeFieldsToTerraform(struct?: DataplexDatascanDataProfileSpecIncludeFieldsOutputReference | DataplexDatascanDataProfileSpecIncludeFields): any;
export declare function dataplexDatascanDataProfileSpecIncludeFieldsToHclTerraform(struct?: DataplexDatascanDataProfileSpecIncludeFieldsOutputReference | DataplexDatascanDataProfileSpecIncludeFields): any;
export declare class DataplexDatascanDataProfileSpecIncludeFieldsOutputReference 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(): DataplexDatascanDataProfileSpecIncludeFields | undefined;
    set internalValue(value: DataplexDatascanDataProfileSpecIncludeFields | undefined);
    private _fieldNames?;
    get fieldNames(): string[];
    set fieldNames(value: string[]);
    resetFieldNames(): void;
    get fieldNamesInput(): string[] | undefined;
}
export interface DataplexDatascanDataProfileSpecPostScanActionsBigqueryExport {
    /**
    * The BigQuery table to export DataProfileScan results to.
    * Format://bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#results_table DataplexDatascan#results_table}
    */
    readonly resultsTable?: string;
}
export declare function dataplexDatascanDataProfileSpecPostScanActionsBigqueryExportToTerraform(struct?: DataplexDatascanDataProfileSpecPostScanActionsBigqueryExportOutputReference | DataplexDatascanDataProfileSpecPostScanActionsBigqueryExport): any;
export declare function dataplexDatascanDataProfileSpecPostScanActionsBigqueryExportToHclTerraform(struct?: DataplexDatascanDataProfileSpecPostScanActionsBigqueryExportOutputReference | DataplexDatascanDataProfileSpecPostScanActionsBigqueryExport): any;
export declare class DataplexDatascanDataProfileSpecPostScanActionsBigqueryExportOutputReference 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(): DataplexDatascanDataProfileSpecPostScanActionsBigqueryExport | undefined;
    set internalValue(value: DataplexDatascanDataProfileSpecPostScanActionsBigqueryExport | undefined);
    private _resultsTable?;
    get resultsTable(): string;
    set resultsTable(value: string);
    resetResultsTable(): void;
    get resultsTableInput(): string | undefined;
}
export interface DataplexDatascanDataProfileSpecPostScanActions {
    /**
    * bigquery_export block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#bigquery_export DataplexDatascan#bigquery_export}
    */
    readonly bigqueryExport?: DataplexDatascanDataProfileSpecPostScanActionsBigqueryExport;
}
export declare function dataplexDatascanDataProfileSpecPostScanActionsToTerraform(struct?: DataplexDatascanDataProfileSpecPostScanActionsOutputReference | DataplexDatascanDataProfileSpecPostScanActions): any;
export declare function dataplexDatascanDataProfileSpecPostScanActionsToHclTerraform(struct?: DataplexDatascanDataProfileSpecPostScanActionsOutputReference | DataplexDatascanDataProfileSpecPostScanActions): any;
export declare class DataplexDatascanDataProfileSpecPostScanActionsOutputReference 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(): DataplexDatascanDataProfileSpecPostScanActions | undefined;
    set internalValue(value: DataplexDatascanDataProfileSpecPostScanActions | undefined);
    private _bigqueryExport;
    get bigqueryExport(): DataplexDatascanDataProfileSpecPostScanActionsBigqueryExportOutputReference;
    putBigqueryExport(value: DataplexDatascanDataProfileSpecPostScanActionsBigqueryExport): void;
    resetBigqueryExport(): void;
    get bigqueryExportInput(): DataplexDatascanDataProfileSpecPostScanActionsBigqueryExport | undefined;
}
export interface DataplexDatascanDataProfileSpec {
    /**
    * A filter applied to all rows in a single DataScan job. The filter needs to be a valid SQL expression for a WHERE clause in BigQuery standard SQL syntax. Example: col1 >= 0 AND col2 < 10
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#row_filter DataplexDatascan#row_filter}
    */
    readonly rowFilter?: string;
    /**
    * The percentage of the records to be selected from the dataset for DataScan.
    * Value can range between 0.0 and 100.0 with up to 3 significant decimal digits.
    * Sampling is not applied if 'sampling_percent' is not specified, 0 or 100.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#sampling_percent DataplexDatascan#sampling_percent}
    */
    readonly samplingPercent?: number;
    /**
    * exclude_fields block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#exclude_fields DataplexDatascan#exclude_fields}
    */
    readonly excludeFields?: DataplexDatascanDataProfileSpecExcludeFields;
    /**
    * include_fields block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#include_fields DataplexDatascan#include_fields}
    */
    readonly includeFields?: DataplexDatascanDataProfileSpecIncludeFields;
    /**
    * post_scan_actions block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#post_scan_actions DataplexDatascan#post_scan_actions}
    */
    readonly postScanActions?: DataplexDatascanDataProfileSpecPostScanActions;
}
export declare function dataplexDatascanDataProfileSpecToTerraform(struct?: DataplexDatascanDataProfileSpecOutputReference | DataplexDatascanDataProfileSpec): any;
export declare function dataplexDatascanDataProfileSpecToHclTerraform(struct?: DataplexDatascanDataProfileSpecOutputReference | DataplexDatascanDataProfileSpec): any;
export declare class DataplexDatascanDataProfileSpecOutputReference 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(): DataplexDatascanDataProfileSpec | undefined;
    set internalValue(value: DataplexDatascanDataProfileSpec | undefined);
    private _rowFilter?;
    get rowFilter(): string;
    set rowFilter(value: string);
    resetRowFilter(): void;
    get rowFilterInput(): string | undefined;
    private _samplingPercent?;
    get samplingPercent(): number;
    set samplingPercent(value: number);
    resetSamplingPercent(): void;
    get samplingPercentInput(): number | undefined;
    private _excludeFields;
    get excludeFields(): DataplexDatascanDataProfileSpecExcludeFieldsOutputReference;
    putExcludeFields(value: DataplexDatascanDataProfileSpecExcludeFields): void;
    resetExcludeFields(): void;
    get excludeFieldsInput(): DataplexDatascanDataProfileSpecExcludeFields | undefined;
    private _includeFields;
    get includeFields(): DataplexDatascanDataProfileSpecIncludeFieldsOutputReference;
    putIncludeFields(value: DataplexDatascanDataProfileSpecIncludeFields): void;
    resetIncludeFields(): void;
    get includeFieldsInput(): DataplexDatascanDataProfileSpecIncludeFields | undefined;
    private _postScanActions;
    get postScanActions(): DataplexDatascanDataProfileSpecPostScanActionsOutputReference;
    putPostScanActions(value: DataplexDatascanDataProfileSpecPostScanActions): void;
    resetPostScanActions(): void;
    get postScanActionsInput(): DataplexDatascanDataProfileSpecPostScanActions | undefined;
}
export interface DataplexDatascanDataQualitySpecPostScanActionsBigqueryExport {
    /**
    * The BigQuery table to export DataQualityScan results to.
    * Format://bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#results_table DataplexDatascan#results_table}
    */
    readonly resultsTable?: string;
}
export declare function dataplexDatascanDataQualitySpecPostScanActionsBigqueryExportToTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsBigqueryExportOutputReference | DataplexDatascanDataQualitySpecPostScanActionsBigqueryExport): any;
export declare function dataplexDatascanDataQualitySpecPostScanActionsBigqueryExportToHclTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsBigqueryExportOutputReference | DataplexDatascanDataQualitySpecPostScanActionsBigqueryExport): any;
export declare class DataplexDatascanDataQualitySpecPostScanActionsBigqueryExportOutputReference 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(): DataplexDatascanDataQualitySpecPostScanActionsBigqueryExport | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecPostScanActionsBigqueryExport | undefined);
    private _resultsTable?;
    get resultsTable(): string;
    set resultsTable(value: string);
    resetResultsTable(): void;
    get resultsTableInput(): string | undefined;
}
export interface DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger {
}
export declare function dataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerToTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerOutputReference | DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger): any;
export declare function dataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerToHclTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerOutputReference | DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger): any;
export declare class DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerOutputReference 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(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger | undefined);
}
export interface DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger {
}
export declare function dataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerToTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerOutputReference | DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger): any;
export declare function dataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerToHclTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerOutputReference | DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger): any;
export declare class DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerOutputReference 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(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger | undefined);
}
export interface DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipients {
    /**
    * The email recipients who will receive the DataQualityScan results report.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#emails DataplexDatascan#emails}
    */
    readonly emails?: string[];
}
export declare function dataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipientsToTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipientsOutputReference | DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipients): any;
export declare function dataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipientsToHclTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipientsOutputReference | DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipients): any;
export declare class DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipientsOutputReference 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(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipients | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipients | undefined);
    private _emails?;
    get emails(): string[];
    set emails(value: string[]);
    resetEmails(): void;
    get emailsInput(): string[] | undefined;
}
export interface DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger {
    /**
    * The score range is in [0,100].
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#score_threshold DataplexDatascan#score_threshold}
    */
    readonly scoreThreshold?: number;
}
export declare function dataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerToTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerOutputReference | DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger): any;
export declare function dataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerToHclTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerOutputReference | DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger): any;
export declare class DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerOutputReference 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(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger | undefined);
    private _scoreThreshold?;
    get scoreThreshold(): number;
    set scoreThreshold(value: number);
    resetScoreThreshold(): void;
    get scoreThresholdInput(): number | undefined;
}
export interface DataplexDatascanDataQualitySpecPostScanActionsNotificationReport {
    /**
    * job_end_trigger block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#job_end_trigger DataplexDatascan#job_end_trigger}
    */
    readonly jobEndTrigger?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger;
    /**
    * job_failure_trigger block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#job_failure_trigger DataplexDatascan#job_failure_trigger}
    */
    readonly jobFailureTrigger?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger;
    /**
    * recipients block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#recipients DataplexDatascan#recipients}
    */
    readonly recipients: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipients;
    /**
    * score_threshold_trigger block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#score_threshold_trigger DataplexDatascan#score_threshold_trigger}
    */
    readonly scoreThresholdTrigger?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger;
}
export declare function dataplexDatascanDataQualitySpecPostScanActionsNotificationReportToTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportOutputReference | DataplexDatascanDataQualitySpecPostScanActionsNotificationReport): any;
export declare function dataplexDatascanDataQualitySpecPostScanActionsNotificationReportToHclTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportOutputReference | DataplexDatascanDataQualitySpecPostScanActionsNotificationReport): any;
export declare class DataplexDatascanDataQualitySpecPostScanActionsNotificationReportOutputReference 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(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReport | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecPostScanActionsNotificationReport | undefined);
    private _jobEndTrigger;
    get jobEndTrigger(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerOutputReference;
    putJobEndTrigger(value: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger): void;
    resetJobEndTrigger(): void;
    get jobEndTriggerInput(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger | undefined;
    private _jobFailureTrigger;
    get jobFailureTrigger(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerOutputReference;
    putJobFailureTrigger(value: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger): void;
    resetJobFailureTrigger(): void;
    get jobFailureTriggerInput(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger | undefined;
    private _recipients;
    get recipients(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipientsOutputReference;
    putRecipients(value: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipients): void;
    get recipientsInput(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportRecipients | undefined;
    private _scoreThresholdTrigger;
    get scoreThresholdTrigger(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerOutputReference;
    putScoreThresholdTrigger(value: DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger): void;
    resetScoreThresholdTrigger(): void;
    get scoreThresholdTriggerInput(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger | undefined;
}
export interface DataplexDatascanDataQualitySpecPostScanActions {
    /**
    * bigquery_export block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#bigquery_export DataplexDatascan#bigquery_export}
    */
    readonly bigqueryExport?: DataplexDatascanDataQualitySpecPostScanActionsBigqueryExport;
    /**
    * notification_report block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#notification_report DataplexDatascan#notification_report}
    */
    readonly notificationReport?: DataplexDatascanDataQualitySpecPostScanActionsNotificationReport;
}
export declare function dataplexDatascanDataQualitySpecPostScanActionsToTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsOutputReference | DataplexDatascanDataQualitySpecPostScanActions): any;
export declare function dataplexDatascanDataQualitySpecPostScanActionsToHclTerraform(struct?: DataplexDatascanDataQualitySpecPostScanActionsOutputReference | DataplexDatascanDataQualitySpecPostScanActions): any;
export declare class DataplexDatascanDataQualitySpecPostScanActionsOutputReference 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(): DataplexDatascanDataQualitySpecPostScanActions | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecPostScanActions | undefined);
    private _bigqueryExport;
    get bigqueryExport(): DataplexDatascanDataQualitySpecPostScanActionsBigqueryExportOutputReference;
    putBigqueryExport(value: DataplexDatascanDataQualitySpecPostScanActionsBigqueryExport): void;
    resetBigqueryExport(): void;
    get bigqueryExportInput(): DataplexDatascanDataQualitySpecPostScanActionsBigqueryExport | undefined;
    private _notificationReport;
    get notificationReport(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReportOutputReference;
    putNotificationReport(value: DataplexDatascanDataQualitySpecPostScanActionsNotificationReport): void;
    resetNotificationReport(): void;
    get notificationReportInput(): DataplexDatascanDataQualitySpecPostScanActionsNotificationReport | undefined;
}
export interface DataplexDatascanDataQualitySpecRulesNonNullExpectation {
}
export declare function dataplexDatascanDataQualitySpecRulesNonNullExpectationToTerraform(struct?: DataplexDatascanDataQualitySpecRulesNonNullExpectationOutputReference | DataplexDatascanDataQualitySpecRulesNonNullExpectation): any;
export declare function dataplexDatascanDataQualitySpecRulesNonNullExpectationToHclTerraform(struct?: DataplexDatascanDataQualitySpecRulesNonNullExpectationOutputReference | DataplexDatascanDataQualitySpecRulesNonNullExpectation): any;
export declare class DataplexDatascanDataQualitySpecRulesNonNullExpectationOutputReference 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(): DataplexDatascanDataQualitySpecRulesNonNullExpectation | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecRulesNonNullExpectation | undefined);
}
export interface DataplexDatascanDataQualitySpecRulesRangeExpectation {
    /**
    * The maximum column value allowed for a row to pass this validation. At least one of minValue and maxValue need to be provided.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#max_value DataplexDatascan#max_value}
    */
    readonly maxValue?: string;
    /**
    * The minimum column value allowed for a row to pass this validation. At least one of minValue and maxValue need to be provided.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#min_value DataplexDatascan#min_value}
    */
    readonly minValue?: string;
    /**
    * Whether each value needs to be strictly lesser than ('<') the maximum, or if equality is allowed.
    * Only relevant if a maxValue has been defined. Default = false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#strict_max_enabled DataplexDatascan#strict_max_enabled}
    */
    readonly strictMaxEnabled?: boolean | cdktf.IResolvable;
    /**
    * Whether each value needs to be strictly greater than ('>') the minimum, or if equality is allowed.
    * Only relevant if a minValue has been defined. Default = false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#strict_min_enabled DataplexDatascan#strict_min_enabled}
    */
    readonly strictMinEnabled?: boolean | cdktf.IResolvable;
}
export declare function dataplexDatascanDataQualitySpecRulesRangeExpectationToTerraform(struct?: DataplexDatascanDataQualitySpecRulesRangeExpectationOutputReference | DataplexDatascanDataQualitySpecRulesRangeExpectation): any;
export declare function dataplexDatascanDataQualitySpecRulesRangeExpectationToHclTerraform(struct?: DataplexDatascanDataQualitySpecRulesRangeExpectationOutputReference | DataplexDatascanDataQualitySpecRulesRangeExpectation): any;
export declare class DataplexDatascanDataQualitySpecRulesRangeExpectationOutputReference 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(): DataplexDatascanDataQualitySpecRulesRangeExpectation | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecRulesRangeExpectation | undefined);
    private _maxValue?;
    get maxValue(): string;
    set maxValue(value: string);
    resetMaxValue(): void;
    get maxValueInput(): string | undefined;
    private _minValue?;
    get minValue(): string;
    set minValue(value: string);
    resetMinValue(): void;
    get minValueInput(): string | undefined;
    private _strictMaxEnabled?;
    get strictMaxEnabled(): boolean | cdktf.IResolvable;
    set strictMaxEnabled(value: boolean | cdktf.IResolvable);
    resetStrictMaxEnabled(): void;
    get strictMaxEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _strictMinEnabled?;
    get strictMinEnabled(): boolean | cdktf.IResolvable;
    set strictMinEnabled(value: boolean | cdktf.IResolvable);
    resetStrictMinEnabled(): void;
    get strictMinEnabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface DataplexDatascanDataQualitySpecRulesRegexExpectation {
    /**
    * A regular expression the column value is expected to match.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#regex DataplexDatascan#regex}
    */
    readonly regex: string;
}
export declare function dataplexDatascanDataQualitySpecRulesRegexExpectationToTerraform(struct?: DataplexDatascanDataQualitySpecRulesRegexExpectationOutputReference | DataplexDatascanDataQualitySpecRulesRegexExpectation): any;
export declare function dataplexDatascanDataQualitySpecRulesRegexExpectationToHclTerraform(struct?: DataplexDatascanDataQualitySpecRulesRegexExpectationOutputReference | DataplexDatascanDataQualitySpecRulesRegexExpectation): any;
export declare class DataplexDatascanDataQualitySpecRulesRegexExpectationOutputReference 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(): DataplexDatascanDataQualitySpecRulesRegexExpectation | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecRulesRegexExpectation | undefined);
    private _regex?;
    get regex(): string;
    set regex(value: string);
    get regexInput(): string | undefined;
}
export interface DataplexDatascanDataQualitySpecRulesRowConditionExpectation {
    /**
    * The SQL expression.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#sql_expression DataplexDatascan#sql_expression}
    */
    readonly sqlExpression: string;
}
export declare function dataplexDatascanDataQualitySpecRulesRowConditionExpectationToTerraform(struct?: DataplexDatascanDataQualitySpecRulesRowConditionExpectationOutputReference | DataplexDatascanDataQualitySpecRulesRowConditionExpectation): any;
export declare function dataplexDatascanDataQualitySpecRulesRowConditionExpectationToHclTerraform(struct?: DataplexDatascanDataQualitySpecRulesRowConditionExpectationOutputReference | DataplexDatascanDataQualitySpecRulesRowConditionExpectation): any;
export declare class DataplexDatascanDataQualitySpecRulesRowConditionExpectationOutputReference 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(): DataplexDatascanDataQualitySpecRulesRowConditionExpectation | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecRulesRowConditionExpectation | undefined);
    private _sqlExpression?;
    get sqlExpression(): string;
    set sqlExpression(value: string);
    get sqlExpressionInput(): string | undefined;
}
export interface DataplexDatascanDataQualitySpecRulesSetExpectation {
    /**
    * Expected values for the column value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#values DataplexDatascan#values}
    */
    readonly values: string[];
}
export declare function dataplexDatascanDataQualitySpecRulesSetExpectationToTerraform(struct?: DataplexDatascanDataQualitySpecRulesSetExpectationOutputReference | DataplexDatascanDataQualitySpecRulesSetExpectation): any;
export declare function dataplexDatascanDataQualitySpecRulesSetExpectationToHclTerraform(struct?: DataplexDatascanDataQualitySpecRulesSetExpectationOutputReference | DataplexDatascanDataQualitySpecRulesSetExpectation): any;
export declare class DataplexDatascanDataQualitySpecRulesSetExpectationOutputReference 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(): DataplexDatascanDataQualitySpecRulesSetExpectation | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecRulesSetExpectation | undefined);
    private _values?;
    get values(): string[];
    set values(value: string[]);
    get valuesInput(): string[] | undefined;
}
export interface DataplexDatascanDataQualitySpecRulesSqlAssertion {
    /**
    * The SQL statement.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#sql_statement DataplexDatascan#sql_statement}
    */
    readonly sqlStatement: string;
}
export declare function dataplexDatascanDataQualitySpecRulesSqlAssertionToTerraform(struct?: DataplexDatascanDataQualitySpecRulesSqlAssertionOutputReference | DataplexDatascanDataQualitySpecRulesSqlAssertion): any;
export declare function dataplexDatascanDataQualitySpecRulesSqlAssertionToHclTerraform(struct?: DataplexDatascanDataQualitySpecRulesSqlAssertionOutputReference | DataplexDatascanDataQualitySpecRulesSqlAssertion): any;
export declare class DataplexDatascanDataQualitySpecRulesSqlAssertionOutputReference 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(): DataplexDatascanDataQualitySpecRulesSqlAssertion | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecRulesSqlAssertion | undefined);
    private _sqlStatement?;
    get sqlStatement(): string;
    set sqlStatement(value: string);
    get sqlStatementInput(): string | undefined;
}
export interface DataplexDatascanDataQualitySpecRulesStatisticRangeExpectation {
    /**
    * The maximum column statistic value allowed for a row to pass this validation.
    * At least one of minValue and maxValue need to be provided.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#max_value DataplexDatascan#max_value}
    */
    readonly maxValue?: string;
    /**
    * The minimum column statistic value allowed for a row to pass this validation.
    * At least one of minValue and maxValue need to be provided.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#min_value DataplexDatascan#min_value}
    */
    readonly minValue?: string;
    /**
    * column statistics. Possible values: ["STATISTIC_UNDEFINED", "MEAN", "MIN", "MAX"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#statistic DataplexDatascan#statistic}
    */
    readonly statistic: string;
    /**
    * Whether column statistic needs to be strictly lesser than ('<') the maximum, or if equality is allowed.
    * Only relevant if a maxValue has been defined. Default = false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#strict_max_enabled DataplexDatascan#strict_max_enabled}
    */
    readonly strictMaxEnabled?: boolean | cdktf.IResolvable;
    /**
    * Whether column statistic needs to be strictly greater than ('>') the minimum, or if equality is allowed.
    * Only relevant if a minValue has been defined. Default = false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#strict_min_enabled DataplexDatascan#strict_min_enabled}
    */
    readonly strictMinEnabled?: boolean | cdktf.IResolvable;
}
export declare function dataplexDatascanDataQualitySpecRulesStatisticRangeExpectationToTerraform(struct?: DataplexDatascanDataQualitySpecRulesStatisticRangeExpectationOutputReference | DataplexDatascanDataQualitySpecRulesStatisticRangeExpectation): any;
export declare function dataplexDatascanDataQualitySpecRulesStatisticRangeExpectationToHclTerraform(struct?: DataplexDatascanDataQualitySpecRulesStatisticRangeExpectationOutputReference | DataplexDatascanDataQualitySpecRulesStatisticRangeExpectation): any;
export declare class DataplexDatascanDataQualitySpecRulesStatisticRangeExpectationOutputReference 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(): DataplexDatascanDataQualitySpecRulesStatisticRangeExpectation | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecRulesStatisticRangeExpectation | undefined);
    private _maxValue?;
    get maxValue(): string;
    set maxValue(value: string);
    resetMaxValue(): void;
    get maxValueInput(): string | undefined;
    private _minValue?;
    get minValue(): string;
    set minValue(value: string);
    resetMinValue(): void;
    get minValueInput(): string | undefined;
    private _statistic?;
    get statistic(): string;
    set statistic(value: string);
    get statisticInput(): string | undefined;
    private _strictMaxEnabled?;
    get strictMaxEnabled(): boolean | cdktf.IResolvable;
    set strictMaxEnabled(value: boolean | cdktf.IResolvable);
    resetStrictMaxEnabled(): void;
    get strictMaxEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _strictMinEnabled?;
    get strictMinEnabled(): boolean | cdktf.IResolvable;
    set strictMinEnabled(value: boolean | cdktf.IResolvable);
    resetStrictMinEnabled(): void;
    get strictMinEnabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface DataplexDatascanDataQualitySpecRulesTableConditionExpectation {
    /**
    * The SQL expression.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#sql_expression DataplexDatascan#sql_expression}
    */
    readonly sqlExpression: string;
}
export declare function dataplexDatascanDataQualitySpecRulesTableConditionExpectationToTerraform(struct?: DataplexDatascanDataQualitySpecRulesTableConditionExpectationOutputReference | DataplexDatascanDataQualitySpecRulesTableConditionExpectation): any;
export declare function dataplexDatascanDataQualitySpecRulesTableConditionExpectationToHclTerraform(struct?: DataplexDatascanDataQualitySpecRulesTableConditionExpectationOutputReference | DataplexDatascanDataQualitySpecRulesTableConditionExpectation): any;
export declare class DataplexDatascanDataQualitySpecRulesTableConditionExpectationOutputReference 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(): DataplexDatascanDataQualitySpecRulesTableConditionExpectation | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecRulesTableConditionExpectation | undefined);
    private _sqlExpression?;
    get sqlExpression(): string;
    set sqlExpression(value: string);
    get sqlExpressionInput(): string | undefined;
}
export interface DataplexDatascanDataQualitySpecRulesUniquenessExpectation {
}
export declare function dataplexDatascanDataQualitySpecRulesUniquenessExpectationToTerraform(struct?: DataplexDatascanDataQualitySpecRulesUniquenessExpectationOutputReference | DataplexDatascanDataQualitySpecRulesUniquenessExpectation): any;
export declare function dataplexDatascanDataQualitySpecRulesUniquenessExpectationToHclTerraform(struct?: DataplexDatascanDataQualitySpecRulesUniquenessExpectationOutputReference | DataplexDatascanDataQualitySpecRulesUniquenessExpectation): any;
export declare class DataplexDatascanDataQualitySpecRulesUniquenessExpectationOutputReference 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(): DataplexDatascanDataQualitySpecRulesUniquenessExpectation | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecRulesUniquenessExpectation | undefined);
}
export interface DataplexDatascanDataQualitySpecRules {
    /**
    * The unnested column which this rule is evaluated against.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#column DataplexDatascan#column}
    */
    readonly column?: string;
    /**
    * Description of the rule.
    * The maximum length is 1,024 characters.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#description DataplexDatascan#description}
    */
    readonly description?: string;
    /**
    * The dimension a rule belongs to. Results are also aggregated at the dimension level. Supported dimensions are ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", "INTEGRITY"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#dimension DataplexDatascan#dimension}
    */
    readonly dimension: string;
    /**
    * Rows with null values will automatically fail a rule, unless ignoreNull is true. In that case, such null rows are trivially considered passing. Only applicable to ColumnMap rules.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#ignore_null DataplexDatascan#ignore_null}
    */
    readonly ignoreNull?: boolean | cdktf.IResolvable;
    /**
    * A mutable name for the rule.
    * The name must contain only letters (a-z, A-Z), numbers (0-9), or hyphens (-).
    * The maximum length is 63 characters.
    * Must start with a letter.
    * Must end with a number or a letter.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#name DataplexDatascan#name}
    */
    readonly name?: string;
    /**
    * The minimum ratio of passing_rows / total_rows required to pass this rule, with a range of [0.0, 1.0]. 0 indicates default value (i.e. 1.0).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#threshold DataplexDatascan#threshold}
    */
    readonly threshold?: number;
    /**
    * non_null_expectation block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#non_null_expectation DataplexDatascan#non_null_expectation}
    */
    readonly nonNullExpectation?: DataplexDatascanDataQualitySpecRulesNonNullExpectation;
    /**
    * range_expectation block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#range_expectation DataplexDatascan#range_expectation}
    */
    readonly rangeExpectation?: DataplexDatascanDataQualitySpecRulesRangeExpectation;
    /**
    * regex_expectation block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#regex_expectation DataplexDatascan#regex_expectation}
    */
    readonly regexExpectation?: DataplexDatascanDataQualitySpecRulesRegexExpectation;
    /**
    * row_condition_expectation block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#row_condition_expectation DataplexDatascan#row_condition_expectation}
    */
    readonly rowConditionExpectation?: DataplexDatascanDataQualitySpecRulesRowConditionExpectation;
    /**
    * set_expectation block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#set_expectation DataplexDatascan#set_expectation}
    */
    readonly setExpectation?: DataplexDatascanDataQualitySpecRulesSetExpectation;
    /**
    * sql_assertion block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#sql_assertion DataplexDatascan#sql_assertion}
    */
    readonly sqlAssertion?: DataplexDatascanDataQualitySpecRulesSqlAssertion;
    /**
    * statistic_range_expectation block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#statistic_range_expectation DataplexDatascan#statistic_range_expectation}
    */
    readonly statisticRangeExpectation?: DataplexDatascanDataQualitySpecRulesStatisticRangeExpectation;
    /**
    * table_condition_expectation block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#table_condition_expectation DataplexDatascan#table_condition_expectation}
    */
    readonly tableConditionExpectation?: DataplexDatascanDataQualitySpecRulesTableConditionExpectation;
    /**
    * uniqueness_expectation block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#uniqueness_expectation DataplexDatascan#uniqueness_expectation}
    */
    readonly uniquenessExpectation?: DataplexDatascanDataQualitySpecRulesUniquenessExpectation;
}
export declare function dataplexDatascanDataQualitySpecRulesToTerraform(struct?: DataplexDatascanDataQualitySpecRules | cdktf.IResolvable): any;
export declare function dataplexDatascanDataQualitySpecRulesToHclTerraform(struct?: DataplexDatascanDataQualitySpecRules | cdktf.IResolvable): any;
export declare class DataplexDatascanDataQualitySpecRulesOutputReference 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(): DataplexDatascanDataQualitySpecRules | cdktf.IResolvable | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpecRules | cdktf.IResolvable | undefined);
    private _column?;
    get column(): string;
    set column(value: string);
    resetColumn(): void;
    get columnInput(): string | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _dimension?;
    get dimension(): string;
    set dimension(value: string);
    get dimensionInput(): string | undefined;
    private _ignoreNull?;
    get ignoreNull(): boolean | cdktf.IResolvable;
    set ignoreNull(value: boolean | cdktf.IResolvable);
    resetIgnoreNull(): void;
    get ignoreNullInput(): boolean | cdktf.IResolvable | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _threshold?;
    get threshold(): number;
    set threshold(value: number);
    resetThreshold(): void;
    get thresholdInput(): number | undefined;
    private _nonNullExpectation;
    get nonNullExpectation(): DataplexDatascanDataQualitySpecRulesNonNullExpectationOutputReference;
    putNonNullExpectation(value: DataplexDatascanDataQualitySpecRulesNonNullExpectation): void;
    resetNonNullExpectation(): void;
    get nonNullExpectationInput(): DataplexDatascanDataQualitySpecRulesNonNullExpectation | undefined;
    private _rangeExpectation;
    get rangeExpectation(): DataplexDatascanDataQualitySpecRulesRangeExpectationOutputReference;
    putRangeExpectation(value: DataplexDatascanDataQualitySpecRulesRangeExpectation): void;
    resetRangeExpectation(): void;
    get rangeExpectationInput(): DataplexDatascanDataQualitySpecRulesRangeExpectation | undefined;
    private _regexExpectation;
    get regexExpectation(): DataplexDatascanDataQualitySpecRulesRegexExpectationOutputReference;
    putRegexExpectation(value: DataplexDatascanDataQualitySpecRulesRegexExpectation): void;
    resetRegexExpectation(): void;
    get regexExpectationInput(): DataplexDatascanDataQualitySpecRulesRegexExpectation | undefined;
    private _rowConditionExpectation;
    get rowConditionExpectation(): DataplexDatascanDataQualitySpecRulesRowConditionExpectationOutputReference;
    putRowConditionExpectation(value: DataplexDatascanDataQualitySpecRulesRowConditionExpectation): void;
    resetRowConditionExpectation(): void;
    get rowConditionExpectationInput(): DataplexDatascanDataQualitySpecRulesRowConditionExpectation | undefined;
    private _setExpectation;
    get setExpectation(): DataplexDatascanDataQualitySpecRulesSetExpectationOutputReference;
    putSetExpectation(value: DataplexDatascanDataQualitySpecRulesSetExpectation): void;
    resetSetExpectation(): void;
    get setExpectationInput(): DataplexDatascanDataQualitySpecRulesSetExpectation | undefined;
    private _sqlAssertion;
    get sqlAssertion(): DataplexDatascanDataQualitySpecRulesSqlAssertionOutputReference;
    putSqlAssertion(value: DataplexDatascanDataQualitySpecRulesSqlAssertion): void;
    resetSqlAssertion(): void;
    get sqlAssertionInput(): DataplexDatascanDataQualitySpecRulesSqlAssertion | undefined;
    private _statisticRangeExpectation;
    get statisticRangeExpectation(): DataplexDatascanDataQualitySpecRulesStatisticRangeExpectationOutputReference;
    putStatisticRangeExpectation(value: DataplexDatascanDataQualitySpecRulesStatisticRangeExpectation): void;
    resetStatisticRangeExpectation(): void;
    get statisticRangeExpectationInput(): DataplexDatascanDataQualitySpecRulesStatisticRangeExpectation | undefined;
    private _tableConditionExpectation;
    get tableConditionExpectation(): DataplexDatascanDataQualitySpecRulesTableConditionExpectationOutputReference;
    putTableConditionExpectation(value: DataplexDatascanDataQualitySpecRulesTableConditionExpectation): void;
    resetTableConditionExpectation(): void;
    get tableConditionExpectationInput(): DataplexDatascanDataQualitySpecRulesTableConditionExpectation | undefined;
    private _uniquenessExpectation;
    get uniquenessExpectation(): DataplexDatascanDataQualitySpecRulesUniquenessExpectationOutputReference;
    putUniquenessExpectation(value: DataplexDatascanDataQualitySpecRulesUniquenessExpectation): void;
    resetUniquenessExpectation(): void;
    get uniquenessExpectationInput(): DataplexDatascanDataQualitySpecRulesUniquenessExpectation | undefined;
}
export declare class DataplexDatascanDataQualitySpecRulesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataplexDatascanDataQualitySpecRules[] | 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): DataplexDatascanDataQualitySpecRulesOutputReference;
}
export interface DataplexDatascanDataQualitySpec {
    /**
    * A filter applied to all rows in a single DataScan job. The filter needs to be a valid SQL expression for a WHERE clause in BigQuery standard SQL syntax. Example: col1 >= 0 AND col2 < 10
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#row_filter DataplexDatascan#row_filter}
    */
    readonly rowFilter?: string;
    /**
    * The percentage of the records to be selected from the dataset for DataScan.
    * Value can range between 0.0 and 100.0 with up to 3 significant decimal digits.
    * Sampling is not applied if 'sampling_percent' is not specified, 0 or 100.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#sampling_percent DataplexDatascan#sampling_percent}
    */
    readonly samplingPercent?: number;
    /**
    * post_scan_actions block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#post_scan_actions DataplexDatascan#post_scan_actions}
    */
    readonly postScanActions?: DataplexDatascanDataQualitySpecPostScanActions;
    /**
    * rules block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#rules DataplexDatascan#rules}
    */
    readonly rules?: DataplexDatascanDataQualitySpecRules[] | cdktf.IResolvable;
}
export declare function dataplexDatascanDataQualitySpecToTerraform(struct?: DataplexDatascanDataQualitySpecOutputReference | DataplexDatascanDataQualitySpec): any;
export declare function dataplexDatascanDataQualitySpecToHclTerraform(struct?: DataplexDatascanDataQualitySpecOutputReference | DataplexDatascanDataQualitySpec): any;
export declare class DataplexDatascanDataQualitySpecOutputReference 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(): DataplexDatascanDataQualitySpec | undefined;
    set internalValue(value: DataplexDatascanDataQualitySpec | undefined);
    private _rowFilter?;
    get rowFilter(): string;
    set rowFilter(value: string);
    resetRowFilter(): void;
    get rowFilterInput(): string | undefined;
    private _samplingPercent?;
    get samplingPercent(): number;
    set samplingPercent(value: number);
    resetSamplingPercent(): void;
    get samplingPercentInput(): number | undefined;
    private _postScanActions;
    get postScanActions(): DataplexDatascanDataQualitySpecPostScanActionsOutputReference;
    putPostScanActions(value: DataplexDatascanDataQualitySpecPostScanActions): void;
    resetPostScanActions(): void;
    get postScanActionsInput(): DataplexDatascanDataQualitySpecPostScanActions | undefined;
    private _rules;
    get rules(): DataplexDatascanDataQualitySpecRulesList;
    putRules(value: DataplexDatascanDataQualitySpecRules[] | cdktf.IResolvable): void;
    resetRules(): void;
    get rulesInput(): cdktf.IResolvable | DataplexDatascanDataQualitySpecRules[] | undefined;
}
export interface DataplexDatascanExecutionSpecTriggerOnDemand {
}
export declare function dataplexDatascanExecutionSpecTriggerOnDemandToTerraform(struct?: DataplexDatascanExecutionSpecTriggerOnDemandOutputReference | DataplexDatascanExecutionSpecTriggerOnDemand): any;
export declare function dataplexDatascanExecutionSpecTriggerOnDemandToHclTerraform(struct?: DataplexDatascanExecutionSpecTriggerOnDemandOutputReference | DataplexDatascanExecutionSpecTriggerOnDemand): any;
export declare class DataplexDatascanExecutionSpecTriggerOnDemandOutputReference 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(): DataplexDatascanExecutionSpecTriggerOnDemand | undefined;
    set internalValue(value: DataplexDatascanExecutionSpecTriggerOnDemand | undefined);
}
export interface DataplexDatascanExecutionSpecTriggerSchedule {
    /**
    * Cron schedule for running scans periodically. This field is required for Schedule scans.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#cron DataplexDatascan#cron}
    */
    readonly cron: string;
}
export declare function dataplexDatascanExecutionSpecTriggerScheduleToTerraform(struct?: DataplexDatascanExecutionSpecTriggerScheduleOutputReference | DataplexDatascanExecutionSpecTriggerSchedule): any;
export declare function dataplexDatascanExecutionSpecTriggerScheduleToHclTerraform(struct?: DataplexDatascanExecutionSpecTriggerScheduleOutputReference | DataplexDatascanExecutionSpecTriggerSchedule): any;
export declare class DataplexDatascanExecutionSpecTriggerScheduleOutputReference 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(): DataplexDatascanExecutionSpecTriggerSchedule | undefined;
    set internalValue(value: DataplexDatascanExecutionSpecTriggerSchedule | undefined);
    private _cron?;
    get cron(): string;
    set cron(value: string);
    get cronInput(): string | undefined;
}
export interface DataplexDatascanExecutionSpecTrigger {
    /**
    * on_demand block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#on_demand DataplexDatascan#on_demand}
    */
    readonly onDemand?: DataplexDatascanExecutionSpecTriggerOnDemand;
    /**
    * schedule block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#schedule DataplexDatascan#schedule}
    */
    readonly schedule?: DataplexDatascanExecutionSpecTriggerSchedule;
}
export declare function dataplexDatascanExecutionSpecTriggerToTerraform(struct?: DataplexDatascanExecutionSpecTriggerOutputReference | DataplexDatascanExecutionSpecTrigger): any;
export declare function dataplexDatascanExecutionSpecTriggerToHclTerraform(struct?: DataplexDatascanExecutionSpecTriggerOutputReference | DataplexDatascanExecutionSpecTrigger): any;
export declare class DataplexDatascanExecutionSpecTriggerOutputReference 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(): DataplexDatascanExecutionSpecTrigger | undefined;
    set internalValue(value: DataplexDatascanExecutionSpecTrigger | undefined);
    private _onDemand;
    get onDemand(): DataplexDatascanExecutionSpecTriggerOnDemandOutputReference;
    putOnDemand(value: DataplexDatascanExecutionSpecTriggerOnDemand): void;
    resetOnDemand(): void;
    get onDemandInput(): DataplexDatascanExecutionSpecTriggerOnDemand | undefined;
    private _schedule;
    get schedule(): DataplexDatascanExecutionSpecTriggerScheduleOutputReference;
    putSchedule(value: DataplexDatascanExecutionSpecTriggerSchedule): void;
    resetSchedule(): void;
    get scheduleInput(): DataplexDatascanExecutionSpecTriggerSchedule | undefined;
}
export interface DataplexDatascanExecutionSpec {
    /**
    * The unnested field (of type Date or Timestamp) that contains values which monotonically increase over time. If not specified, a data scan will run for all data in the table.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#field DataplexDatascan#field}
    */
    readonly field?: string;
    /**
    * trigger block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#trigger DataplexDatascan#trigger}
    */
    readonly trigger: DataplexDatascanExecutionSpecTrigger;
}
export declare function dataplexDatascanExecutionSpecToTerraform(struct?: DataplexDatascanExecutionSpecOutputReference | DataplexDatascanExecutionSpec): any;
export declare function dataplexDatascanExecutionSpecToHclTerraform(struct?: DataplexDatascanExecutionSpecOutputReference | DataplexDatascanExecutionSpec): any;
export declare class DataplexDatascanExecutionSpecOutputReference 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(): DataplexDatascanExecutionSpec | undefined;
    set internalValue(value: DataplexDatascanExecutionSpec | undefined);
    private _field?;
    get field(): string;
    set field(value: string);
    resetField(): void;
    get fieldInput(): string | undefined;
    private _trigger;
    get trigger(): DataplexDatascanExecutionSpecTriggerOutputReference;
    putTrigger(value: DataplexDatascanExecutionSpecTrigger): void;
    get triggerInput(): DataplexDatascanExecutionSpecTrigger | undefined;
}
export interface DataplexDatascanTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#create DataplexDatascan#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#delete DataplexDatascan#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#update DataplexDatascan#update}
    */
    readonly update?: string;
}
export declare function dataplexDatascanTimeoutsToTerraform(struct?: DataplexDatascanTimeouts | cdktf.IResolvable): any;
export declare function dataplexDatascanTimeoutsToHclTerraform(struct?: DataplexDatascanTimeouts | cdktf.IResolvable): any;
export declare class DataplexDatascanTimeoutsOutputReference 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(): DataplexDatascanTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DataplexDatascanTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan google_dataplex_datascan}
*/
export declare class DataplexDatascan extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_dataplex_datascan";
    /**
    * Generates CDKTF code for importing a DataplexDatascan 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 DataplexDatascan to import
    * @param importFromId The id of the existing DataplexDatascan that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dataplex_datascan#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataplexDatascan 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/hashicorp/google/6.36.0/docs/resources/dataplex_datascan google_dataplex_datascan} Resource
    *
    * @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 DataplexDatascanConfig
    */
    constructor(scope: Construct, id: string, config: DataplexDatascanConfig);
    get createTime(): string;
    private _dataScanId?;
    get dataScanId(): string;
    set dataScanId(value: string);
    get dataScanIdInput(): string | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _effectiveLabels;
    get effectiveLabels(): cdktf.StringMap;
    private _executionStatus;
    get executionStatus(): DataplexDatascanExecutionStatusList;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    get locationInput(): string | undefined;
    get name(): string;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    get state(): string;
    private _terraformLabels;
    get terraformLabels(): cdktf.StringMap;
    get type(): string;
    get uid(): string;
    get updateTime(): string;
    private _data;
    get data(): DataplexDatascanDataOutputReference;
    putData(value: DataplexDatascanData): void;
    get dataInput(): DataplexDatascanData | undefined;
    private _dataProfileSpec;
    get dataProfileSpec(): DataplexDatascanDataProfileSpecOutputReference;
    putDataProfileSpec(value: DataplexDatascanDataProfileSpec): void;
    resetDataProfileSpec(): void;
    get dataProfileSpecInput(): DataplexDatascanDataProfileSpec | undefined;
    private _dataQualitySpec;
    get dataQualitySpec(): DataplexDatascanDataQualitySpecOutputReference;
    putDataQualitySpec(value: DataplexDatascanDataQualitySpec): void;
    resetDataQualitySpec(): void;
    get dataQualitySpecInput(): DataplexDatascanDataQualitySpec | undefined;
    private _executionSpec;
    get executionSpec(): DataplexDatascanExecutionSpecOutputReference;
    putExecutionSpec(value: DataplexDatascanExecutionSpec): void;
    get executionSpecInput(): DataplexDatascanExecutionSpec | undefined;
    private _timeouts;
    get timeouts(): DataplexDatascanTimeoutsOutputReference;
    putTimeouts(value: DataplexDatascanTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DataplexDatascanTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
