import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciDataSafeSensitiveDataModelsSensitiveColumnsConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#column_group DataOciDataSafeSensitiveDataModelsSensitiveColumns#column_group}
    */
    readonly columnGroup?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#column_name DataOciDataSafeSensitiveDataModelsSensitiveColumns#column_name}
    */
    readonly columnName?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#data_type DataOciDataSafeSensitiveDataModelsSensitiveColumns#data_type}
    */
    readonly dataType?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#id DataOciDataSafeSensitiveDataModelsSensitiveColumns#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;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#is_case_in_sensitive DataOciDataSafeSensitiveDataModelsSensitiveColumns#is_case_in_sensitive}
    */
    readonly isCaseInSensitive?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#object DataOciDataSafeSensitiveDataModelsSensitiveColumns#object}
    */
    readonly object?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#object_type DataOciDataSafeSensitiveDataModelsSensitiveColumns#object_type}
    */
    readonly objectType?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#parent_column_key DataOciDataSafeSensitiveDataModelsSensitiveColumns#parent_column_key}
    */
    readonly parentColumnKey?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#relation_type DataOciDataSafeSensitiveDataModelsSensitiveColumns#relation_type}
    */
    readonly relationType?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#schema_name DataOciDataSafeSensitiveDataModelsSensitiveColumns#schema_name}
    */
    readonly schemaName?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#sensitive_column_lifecycle_state DataOciDataSafeSensitiveDataModelsSensitiveColumns#sensitive_column_lifecycle_state}
    */
    readonly sensitiveColumnLifecycleState?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#sensitive_data_model_id DataOciDataSafeSensitiveDataModelsSensitiveColumns#sensitive_data_model_id}
    */
    readonly sensitiveDataModelId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#sensitive_type_id DataOciDataSafeSensitiveDataModelsSensitiveColumns#sensitive_type_id}
    */
    readonly sensitiveTypeId?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#status DataOciDataSafeSensitiveDataModelsSensitiveColumns#status}
    */
    readonly status?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#time_created_greater_than_or_equal_to DataOciDataSafeSensitiveDataModelsSensitiveColumns#time_created_greater_than_or_equal_to}
    */
    readonly timeCreatedGreaterThanOrEqualTo?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#time_created_less_than DataOciDataSafeSensitiveDataModelsSensitiveColumns#time_created_less_than}
    */
    readonly timeCreatedLessThan?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#time_updated_greater_than_or_equal_to DataOciDataSafeSensitiveDataModelsSensitiveColumns#time_updated_greater_than_or_equal_to}
    */
    readonly timeUpdatedGreaterThanOrEqualTo?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#time_updated_less_than DataOciDataSafeSensitiveDataModelsSensitiveColumns#time_updated_less_than}
    */
    readonly timeUpdatedLessThan?: string;
    /**
    * filter block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#filter DataOciDataSafeSensitiveDataModelsSensitiveColumns#filter}
    */
    readonly filter?: DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilter[] | cdktf.IResolvable;
}
export interface DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionItems {
}
export declare function dataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionItemsToTerraform(struct?: DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionItems): any;
export declare function dataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionItemsToHclTerraform(struct?: DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionItems): any;
export declare class DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionItemsOutputReference 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(): DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionItems | undefined;
    set internalValue(value: DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionItems | undefined);
    get appDefinedChildColumnKeys(): string[];
    get appName(): string;
    get columnGroups(): string[];
    get columnName(): string;
    get dataType(): string;
    get dbDefinedChildColumnKeys(): string[];
    get estimatedDataValueCount(): string;
    get key(): string;
    get lifecycleDetails(): string;
    get object(): string;
    get objectType(): string;
    get parentColumnKeys(): string[];
    get relationType(): string;
    get sampleDataValues(): string[];
    get schemaName(): string;
    get sensitiveDataModelId(): string;
    get sensitiveTypeId(): string;
    get source(): string;
    get state(): string;
    get status(): string;
    get timeCreated(): string;
    get timeUpdated(): string;
}
export declare class DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionItemsList 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): DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionItemsOutputReference;
}
export interface DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollection {
}
export declare function dataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionToTerraform(struct?: DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollection): any;
export declare function dataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionToHclTerraform(struct?: DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollection): any;
export declare class DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionOutputReference 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(): DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollection | undefined;
    set internalValue(value: DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollection | undefined);
    private _items;
    get items(): DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionItemsList;
}
export declare class DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionList 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): DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionOutputReference;
}
export interface DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilter {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#name DataOciDataSafeSensitiveDataModelsSensitiveColumns#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#regex DataOciDataSafeSensitiveDataModelsSensitiveColumns#regex}
    */
    readonly regex?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#values DataOciDataSafeSensitiveDataModelsSensitiveColumns#values}
    */
    readonly values: string[];
}
export declare function dataOciDataSafeSensitiveDataModelsSensitiveColumnsFilterToTerraform(struct?: DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilter | cdktf.IResolvable): any;
export declare function dataOciDataSafeSensitiveDataModelsSensitiveColumnsFilterToHclTerraform(struct?: DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilter | cdktf.IResolvable): any;
export declare class DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilterOutputReference 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(): DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilter | cdktf.IResolvable | undefined;
    set internalValue(value: DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilter | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _regex?;
    get regex(): boolean | cdktf.IResolvable;
    set regex(value: boolean | cdktf.IResolvable);
    resetRegex(): void;
    get regexInput(): boolean | cdktf.IResolvable | undefined;
    private _values?;
    get values(): string[];
    set values(value: string[]);
    get valuesInput(): string[] | undefined;
}
export declare class DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilterList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilter[] | 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): DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilterOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns oci_data_safe_sensitive_data_models_sensitive_columns}
*/
export declare class DataOciDataSafeSensitiveDataModelsSensitiveColumns extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_data_safe_sensitive_data_models_sensitive_columns";
    /**
    * Generates CDKTF code for importing a DataOciDataSafeSensitiveDataModelsSensitiveColumns 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 DataOciDataSafeSensitiveDataModelsSensitiveColumns to import
    * @param importFromId The id of the existing DataOciDataSafeSensitiveDataModelsSensitiveColumns that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciDataSafeSensitiveDataModelsSensitiveColumns 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/oracle/oci/6.18.0/docs/data-sources/data_safe_sensitive_data_models_sensitive_columns oci_data_safe_sensitive_data_models_sensitive_columns} Data Source
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options DataOciDataSafeSensitiveDataModelsSensitiveColumnsConfig
    */
    constructor(scope: Construct, id: string, config: DataOciDataSafeSensitiveDataModelsSensitiveColumnsConfig);
    private _columnGroup?;
    get columnGroup(): string;
    set columnGroup(value: string);
    resetColumnGroup(): void;
    get columnGroupInput(): string | undefined;
    private _columnName?;
    get columnName(): string[];
    set columnName(value: string[]);
    resetColumnName(): void;
    get columnNameInput(): string[] | undefined;
    private _dataType?;
    get dataType(): string[];
    set dataType(value: string[]);
    resetDataType(): void;
    get dataTypeInput(): string[] | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _isCaseInSensitive?;
    get isCaseInSensitive(): boolean | cdktf.IResolvable;
    set isCaseInSensitive(value: boolean | cdktf.IResolvable);
    resetIsCaseInSensitive(): void;
    get isCaseInSensitiveInput(): boolean | cdktf.IResolvable | undefined;
    private _object?;
    get object(): string[];
    set object(value: string[]);
    resetObject(): void;
    get objectInput(): string[] | undefined;
    private _objectType?;
    get objectType(): string[];
    set objectType(value: string[]);
    resetObjectType(): void;
    get objectTypeInput(): string[] | undefined;
    private _parentColumnKey?;
    get parentColumnKey(): string[];
    set parentColumnKey(value: string[]);
    resetParentColumnKey(): void;
    get parentColumnKeyInput(): string[] | undefined;
    private _relationType?;
    get relationType(): string[];
    set relationType(value: string[]);
    resetRelationType(): void;
    get relationTypeInput(): string[] | undefined;
    private _schemaName?;
    get schemaName(): string[];
    set schemaName(value: string[]);
    resetSchemaName(): void;
    get schemaNameInput(): string[] | undefined;
    private _sensitiveColumnCollection;
    get sensitiveColumnCollection(): DataOciDataSafeSensitiveDataModelsSensitiveColumnsSensitiveColumnCollectionList;
    private _sensitiveColumnLifecycleState?;
    get sensitiveColumnLifecycleState(): string;
    set sensitiveColumnLifecycleState(value: string);
    resetSensitiveColumnLifecycleState(): void;
    get sensitiveColumnLifecycleStateInput(): string | undefined;
    private _sensitiveDataModelId?;
    get sensitiveDataModelId(): string;
    set sensitiveDataModelId(value: string);
    get sensitiveDataModelIdInput(): string | undefined;
    private _sensitiveTypeId?;
    get sensitiveTypeId(): string[];
    set sensitiveTypeId(value: string[]);
    resetSensitiveTypeId(): void;
    get sensitiveTypeIdInput(): string[] | undefined;
    private _status?;
    get status(): string[];
    set status(value: string[]);
    resetStatus(): void;
    get statusInput(): string[] | undefined;
    private _timeCreatedGreaterThanOrEqualTo?;
    get timeCreatedGreaterThanOrEqualTo(): string;
    set timeCreatedGreaterThanOrEqualTo(value: string);
    resetTimeCreatedGreaterThanOrEqualTo(): void;
    get timeCreatedGreaterThanOrEqualToInput(): string | undefined;
    private _timeCreatedLessThan?;
    get timeCreatedLessThan(): string;
    set timeCreatedLessThan(value: string);
    resetTimeCreatedLessThan(): void;
    get timeCreatedLessThanInput(): string | undefined;
    private _timeUpdatedGreaterThanOrEqualTo?;
    get timeUpdatedGreaterThanOrEqualTo(): string;
    set timeUpdatedGreaterThanOrEqualTo(value: string);
    resetTimeUpdatedGreaterThanOrEqualTo(): void;
    get timeUpdatedGreaterThanOrEqualToInput(): string | undefined;
    private _timeUpdatedLessThan?;
    get timeUpdatedLessThan(): string;
    set timeUpdatedLessThan(value: string);
    resetTimeUpdatedLessThan(): void;
    get timeUpdatedLessThanInput(): string | undefined;
    private _filter;
    get filter(): DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilterList;
    putFilter(value: DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilter[] | cdktf.IResolvable): void;
    resetFilter(): void;
    get filterInput(): cdktf.IResolvable | DataOciDataSafeSensitiveDataModelsSensitiveColumnsFilter[] | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
