/**
 * 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.41.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.41.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.41.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.41.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.41.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.41.0/docs/resources/dataplex_datascan#location DataplexDatascan#location}
    */
    readonly location: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.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.41.0/docs/resources/dataplex_datascan#data DataplexDatascan#data}
    */
    readonly data: DataplexDatascanData;
    /**
    * data_discovery_spec block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#data_discovery_spec DataplexDatascan#data_discovery_spec}
    */
    readonly dataDiscoverySpec?: DataplexDatascanDataDiscoverySpec;
    /**
    * data_profile_spec block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.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.41.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.41.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.41.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.41.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 (//storage.googleapis.com/projects/PROJECT_ID/buckets/BUCKET_ID) for DataDiscoveryScan OR BigQuery table of type "TABLE" (/bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID) for DataProfileScan/DataQualityScan.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.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 DataplexDatascanDataDiscoverySpecBigqueryPublishingConfig {
    /**
    * The BigQuery connection used to create BigLake tables. Must be in the form 'projects/{projectId}/locations/{locationId}/connections/{connection_id}'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#connection DataplexDatascan#connection}
    */
    readonly connection?: string;
    /**
    * The location of the BigQuery dataset to publish BigLake external or non-BigLake external tables to.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#location DataplexDatascan#location}
    */
    readonly location?: string;
    /**
    * The project of the BigQuery dataset to publish BigLake external or non-BigLake external tables to. If not specified, the project of the Cloud Storage bucket will be used. The format is "projects/{project_id_or_number}".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#project DataplexDatascan#project}
    */
    readonly project?: string;
    /**
    * Determines whether to publish discovered tables as BigLake external tables or non-BigLake external tables. Possible values: ["TABLE_TYPE_UNSPECIFIED", "EXTERNAL", "BIGLAKE"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#table_type DataplexDatascan#table_type}
    */
    readonly tableType?: string;
}
export declare function dataplexDatascanDataDiscoverySpecBigqueryPublishingConfigToTerraform(struct?: DataplexDatascanDataDiscoverySpecBigqueryPublishingConfigOutputReference | DataplexDatascanDataDiscoverySpecBigqueryPublishingConfig): any;
export declare function dataplexDatascanDataDiscoverySpecBigqueryPublishingConfigToHclTerraform(struct?: DataplexDatascanDataDiscoverySpecBigqueryPublishingConfigOutputReference | DataplexDatascanDataDiscoverySpecBigqueryPublishingConfig): any;
export declare class DataplexDatascanDataDiscoverySpecBigqueryPublishingConfigOutputReference 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(): DataplexDatascanDataDiscoverySpecBigqueryPublishingConfig | undefined;
    set internalValue(value: DataplexDatascanDataDiscoverySpecBigqueryPublishingConfig | undefined);
    private _connection?;
    get connection(): string;
    set connection(value: string);
    resetConnection(): void;
    get connectionInput(): string | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    resetLocation(): void;
    get locationInput(): string | undefined;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    private _tableType?;
    get tableType(): string;
    set tableType(value: string);
    resetTableType(): void;
    get tableTypeInput(): string | undefined;
}
export interface DataplexDatascanDataDiscoverySpecStorageConfigCsvOptions {
    /**
    * The delimiter that is used to separate values. The default is ',' (comma).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#delimiter DataplexDatascan#delimiter}
    */
    readonly delimiter?: string;
    /**
    * The character encoding of the data. The default is UTF-8.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#encoding DataplexDatascan#encoding}
    */
    readonly encoding?: string;
    /**
    * The number of rows to interpret as header rows that should be skipped when reading data rows.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#header_rows DataplexDatascan#header_rows}
    */
    readonly headerRows?: number;
    /**
    * The character used to quote column values. Accepts '"' (double quotation mark) or ``` (single quotation mark). If unspecified, defaults to '"' (double quotation mark).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#quote DataplexDatascan#quote}
    */
    readonly quote?: string;
    /**
    * Whether to disable the inference of data types for CSV data. If true, all columns are registered as strings.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#type_inference_disabled DataplexDatascan#type_inference_disabled}
    */
    readonly typeInferenceDisabled?: boolean | cdktf.IResolvable;
}
export declare function dataplexDatascanDataDiscoverySpecStorageConfigCsvOptionsToTerraform(struct?: DataplexDatascanDataDiscoverySpecStorageConfigCsvOptionsOutputReference | DataplexDatascanDataDiscoverySpecStorageConfigCsvOptions): any;
export declare function dataplexDatascanDataDiscoverySpecStorageConfigCsvOptionsToHclTerraform(struct?: DataplexDatascanDataDiscoverySpecStorageConfigCsvOptionsOutputReference | DataplexDatascanDataDiscoverySpecStorageConfigCsvOptions): any;
export declare class DataplexDatascanDataDiscoverySpecStorageConfigCsvOptionsOutputReference 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(): DataplexDatascanDataDiscoverySpecStorageConfigCsvOptions | undefined;
    set internalValue(value: DataplexDatascanDataDiscoverySpecStorageConfigCsvOptions | undefined);
    private _delimiter?;
    get delimiter(): string;
    set delimiter(value: string);
    resetDelimiter(): void;
    get delimiterInput(): string | undefined;
    private _encoding?;
    get encoding(): string;
    set encoding(value: string);
    resetEncoding(): void;
    get encodingInput(): string | undefined;
    private _headerRows?;
    get headerRows(): number;
    set headerRows(value: number);
    resetHeaderRows(): void;
    get headerRowsInput(): number | undefined;
    private _quote?;
    get quote(): string;
    set quote(value: string);
    resetQuote(): void;
    get quoteInput(): string | undefined;
    private _typeInferenceDisabled?;
    get typeInferenceDisabled(): boolean | cdktf.IResolvable;
    set typeInferenceDisabled(value: boolean | cdktf.IResolvable);
    resetTypeInferenceDisabled(): void;
    get typeInferenceDisabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface DataplexDatascanDataDiscoverySpecStorageConfigJsonOptions {
    /**
    * The character encoding of the data. The default is UTF-8.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#encoding DataplexDatascan#encoding}
    */
    readonly encoding?: string;
    /**
    * Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#type_inference_disabled DataplexDatascan#type_inference_disabled}
    */
    readonly typeInferenceDisabled?: boolean | cdktf.IResolvable;
}
export declare function dataplexDatascanDataDiscoverySpecStorageConfigJsonOptionsToTerraform(struct?: DataplexDatascanDataDiscoverySpecStorageConfigJsonOptionsOutputReference | DataplexDatascanDataDiscoverySpecStorageConfigJsonOptions): any;
export declare function dataplexDatascanDataDiscoverySpecStorageConfigJsonOptionsToHclTerraform(struct?: DataplexDatascanDataDiscoverySpecStorageConfigJsonOptionsOutputReference | DataplexDatascanDataDiscoverySpecStorageConfigJsonOptions): any;
export declare class DataplexDatascanDataDiscoverySpecStorageConfigJsonOptionsOutputReference 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(): DataplexDatascanDataDiscoverySpecStorageConfigJsonOptions | undefined;
    set internalValue(value: DataplexDatascanDataDiscoverySpecStorageConfigJsonOptions | undefined);
    private _encoding?;
    get encoding(): string;
    set encoding(value: string);
    resetEncoding(): void;
    get encodingInput(): string | undefined;
    private _typeInferenceDisabled?;
    get typeInferenceDisabled(): boolean | cdktf.IResolvable;
    set typeInferenceDisabled(value: boolean | cdktf.IResolvable);
    resetTypeInferenceDisabled(): void;
    get typeInferenceDisabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface DataplexDatascanDataDiscoverySpecStorageConfig {
    /**
    * Defines the data to exclude during discovery. Provide a list of patterns that identify the data to exclude. For Cloud Storage bucket assets, these patterns are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these patterns are interpreted as patterns to match table names.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#exclude_patterns DataplexDatascan#exclude_patterns}
    */
    readonly excludePatterns?: string[];
    /**
    * Defines the data to include during discovery when only a subset of the data should be considered. Provide a list of patterns that identify the data to include. For Cloud Storage bucket assets, these patterns are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these patterns are interpreted as patterns to match table names.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#include_patterns DataplexDatascan#include_patterns}
    */
    readonly includePatterns?: string[];
    /**
    * csv_options block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#csv_options DataplexDatascan#csv_options}
    */
    readonly csvOptions?: DataplexDatascanDataDiscoverySpecStorageConfigCsvOptions;
    /**
    * json_options block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#json_options DataplexDatascan#json_options}
    */
    readonly jsonOptions?: DataplexDatascanDataDiscoverySpecStorageConfigJsonOptions;
}
export declare function dataplexDatascanDataDiscoverySpecStorageConfigToTerraform(struct?: DataplexDatascanDataDiscoverySpecStorageConfigOutputReference | DataplexDatascanDataDiscoverySpecStorageConfig): any;
export declare function dataplexDatascanDataDiscoverySpecStorageConfigToHclTerraform(struct?: DataplexDatascanDataDiscoverySpecStorageConfigOutputReference | DataplexDatascanDataDiscoverySpecStorageConfig): any;
export declare class DataplexDatascanDataDiscoverySpecStorageConfigOutputReference 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(): DataplexDatascanDataDiscoverySpecStorageConfig | undefined;
    set internalValue(value: DataplexDatascanDataDiscoverySpecStorageConfig | undefined);
    private _excludePatterns?;
    get excludePatterns(): string[];
    set excludePatterns(value: string[]);
    resetExcludePatterns(): void;
    get excludePatternsInput(): string[] | undefined;
    private _includePatterns?;
    get includePatterns(): string[];
    set includePatterns(value: string[]);
    resetIncludePatterns(): void;
    get includePatternsInput(): string[] | undefined;
    private _csvOptions;
    get csvOptions(): DataplexDatascanDataDiscoverySpecStorageConfigCsvOptionsOutputReference;
    putCsvOptions(value: DataplexDatascanDataDiscoverySpecStorageConfigCsvOptions): void;
    resetCsvOptions(): void;
    get csvOptionsInput(): DataplexDatascanDataDiscoverySpecStorageConfigCsvOptions | undefined;
    private _jsonOptions;
    get jsonOptions(): DataplexDatascanDataDiscoverySpecStorageConfigJsonOptionsOutputReference;
    putJsonOptions(value: DataplexDatascanDataDiscoverySpecStorageConfigJsonOptions): void;
    resetJsonOptions(): void;
    get jsonOptionsInput(): DataplexDatascanDataDiscoverySpecStorageConfigJsonOptions | undefined;
}
export interface DataplexDatascanDataDiscoverySpec {
    /**
    * bigquery_publishing_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#bigquery_publishing_config DataplexDatascan#bigquery_publishing_config}
    */
    readonly bigqueryPublishingConfig?: DataplexDatascanDataDiscoverySpecBigqueryPublishingConfig;
    /**
    * storage_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#storage_config DataplexDatascan#storage_config}
    */
    readonly storageConfig?: DataplexDatascanDataDiscoverySpecStorageConfig;
}
export declare function dataplexDatascanDataDiscoverySpecToTerraform(struct?: DataplexDatascanDataDiscoverySpecOutputReference | DataplexDatascanDataDiscoverySpec): any;
export declare function dataplexDatascanDataDiscoverySpecToHclTerraform(struct?: DataplexDatascanDataDiscoverySpecOutputReference | DataplexDatascanDataDiscoverySpec): any;
export declare class DataplexDatascanDataDiscoverySpecOutputReference 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(): DataplexDatascanDataDiscoverySpec | undefined;
    set internalValue(value: DataplexDatascanDataDiscoverySpec | undefined);
    private _bigqueryPublishingConfig;
    get bigqueryPublishingConfig(): DataplexDatascanDataDiscoverySpecBigqueryPublishingConfigOutputReference;
    putBigqueryPublishingConfig(value: DataplexDatascanDataDiscoverySpecBigqueryPublishingConfig): void;
    resetBigqueryPublishingConfig(): void;
    get bigqueryPublishingConfigInput(): DataplexDatascanDataDiscoverySpecBigqueryPublishingConfig | undefined;
    private _storageConfig;
    get storageConfig(): DataplexDatascanDataDiscoverySpecStorageConfigOutputReference;
    putStorageConfig(value: DataplexDatascanDataDiscoverySpecStorageConfig): void;
    resetStorageConfig(): void;
    get storageConfigInput(): DataplexDatascanDataDiscoverySpecStorageConfig | 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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.0/docs/resources/dataplex_datascan#description DataplexDatascan#description}
    */
    readonly description?: string;
    /**
    * The dimension name a rule belongs to. Custom dimension name is supported with all uppercase letters and maximum length of 30 characters.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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.41.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 {
    /**
    * If set, the latest DataScan job result will be published to Dataplex Catalog.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#catalog_publishing_enabled DataplexDatascan#catalog_publishing_enabled}
    */
    readonly catalogPublishingEnabled?: boolean | cdktf.IResolvable;
    /**
    * 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.41.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.41.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.41.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.41.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 _catalogPublishingEnabled?;
    get catalogPublishingEnabled(): boolean | cdktf.IResolvable;
    set catalogPublishingEnabled(value: boolean | cdktf.IResolvable);
    resetCatalogPublishingEnabled(): void;
    get catalogPublishingEnabledInput(): boolean | cdktf.IResolvable | 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.41.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.41.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.41.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.41.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.41.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.41.0/docs/resources/dataplex_datascan#create DataplexDatascan#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataplex_datascan#delete DataplexDatascan#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.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.41.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.41.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.41.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 _dataDiscoverySpec;
    get dataDiscoverySpec(): DataplexDatascanDataDiscoverySpecOutputReference;
    putDataDiscoverySpec(value: DataplexDatascanDataDiscoverySpec): void;
    resetDataDiscoverySpec(): void;
    get dataDiscoverySpecInput(): DataplexDatascanDataDiscoverySpec | 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;
    };
}
