/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DiscoveryEngineDataStoreConfig extends cdktf.TerraformMetaArguments {
    /**
    * The content config of the data store. Possible values: ["NO_CONTENT", "CONTENT_REQUIRED", "PUBLIC_WEBSITE"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#content_config DiscoveryEngineDataStore#content_config}
    */
    readonly contentConfig: string;
    /**
    * If true, an advanced data store for site search will be created. If the
    * data store is not configured as site search (GENERIC vertical and
    * PUBLIC_WEBSITE contentConfig), this flag will be ignored.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#create_advanced_site_search DiscoveryEngineDataStore#create_advanced_site_search}
    */
    readonly createAdvancedSiteSearch?: boolean | cdktf.IResolvable;
    /**
    * The unique id of the data store.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#data_store_id DiscoveryEngineDataStore#data_store_id}
    */
    readonly dataStoreId: string;
    /**
    * The display name of the data store. This field must be a UTF-8 encoded
    * string with a length limit of 128 characters.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#display_name DiscoveryEngineDataStore#display_name}
    */
    readonly displayName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#id DiscoveryEngineDataStore#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;
    /**
    * The industry vertical that the data store registers. Possible values: ["GENERIC", "MEDIA", "HEALTHCARE_FHIR"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#industry_vertical DiscoveryEngineDataStore#industry_vertical}
    */
    readonly industryVertical: string;
    /**
    * The geographic location where the data store should reside. The value can
    * only be one of "global", "us" and "eu".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#location DiscoveryEngineDataStore#location}
    */
    readonly location: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#project DiscoveryEngineDataStore#project}
    */
    readonly project?: string;
    /**
    * A boolean flag indicating whether to skip the default schema creation for
    * the data store. Only enable this flag if you are certain that the default
    * schema is incompatible with your use case.
    * If set to true, you must manually create a schema for the data store
    * before any documents can be ingested.
    * This flag cannot be specified if 'data_store.starting_schema' is
    * specified.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#skip_default_schema_creation DiscoveryEngineDataStore#skip_default_schema_creation}
    */
    readonly skipDefaultSchemaCreation?: boolean | cdktf.IResolvable;
    /**
    * The solutions that the data store enrolls. Possible values: ["SOLUTION_TYPE_RECOMMENDATION", "SOLUTION_TYPE_SEARCH", "SOLUTION_TYPE_CHAT", "SOLUTION_TYPE_GENERATIVE_CHAT"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#solution_types DiscoveryEngineDataStore#solution_types}
    */
    readonly solutionTypes?: string[];
    /**
    * advanced_site_search_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#advanced_site_search_config DiscoveryEngineDataStore#advanced_site_search_config}
    */
    readonly advancedSiteSearchConfig?: DiscoveryEngineDataStoreAdvancedSiteSearchConfig;
    /**
    * document_processing_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#document_processing_config DiscoveryEngineDataStore#document_processing_config}
    */
    readonly documentProcessingConfig?: DiscoveryEngineDataStoreDocumentProcessingConfig;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#timeouts DiscoveryEngineDataStore#timeouts}
    */
    readonly timeouts?: DiscoveryEngineDataStoreTimeouts;
}
export interface DiscoveryEngineDataStoreAdvancedSiteSearchConfig {
    /**
    * If set true, automatic refresh is disabled for the DataStore.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#disable_automatic_refresh DiscoveryEngineDataStore#disable_automatic_refresh}
    */
    readonly disableAutomaticRefresh?: boolean | cdktf.IResolvable;
    /**
    * If set true, initial indexing is disabled for the DataStore.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#disable_initial_index DiscoveryEngineDataStore#disable_initial_index}
    */
    readonly disableInitialIndex?: boolean | cdktf.IResolvable;
}
export declare function discoveryEngineDataStoreAdvancedSiteSearchConfigToTerraform(struct?: DiscoveryEngineDataStoreAdvancedSiteSearchConfigOutputReference | DiscoveryEngineDataStoreAdvancedSiteSearchConfig): any;
export declare function discoveryEngineDataStoreAdvancedSiteSearchConfigToHclTerraform(struct?: DiscoveryEngineDataStoreAdvancedSiteSearchConfigOutputReference | DiscoveryEngineDataStoreAdvancedSiteSearchConfig): any;
export declare class DiscoveryEngineDataStoreAdvancedSiteSearchConfigOutputReference 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(): DiscoveryEngineDataStoreAdvancedSiteSearchConfig | undefined;
    set internalValue(value: DiscoveryEngineDataStoreAdvancedSiteSearchConfig | undefined);
    private _disableAutomaticRefresh?;
    get disableAutomaticRefresh(): boolean | cdktf.IResolvable;
    set disableAutomaticRefresh(value: boolean | cdktf.IResolvable);
    resetDisableAutomaticRefresh(): void;
    get disableAutomaticRefreshInput(): boolean | cdktf.IResolvable | undefined;
    private _disableInitialIndex?;
    get disableInitialIndex(): boolean | cdktf.IResolvable;
    set disableInitialIndex(value: boolean | cdktf.IResolvable);
    resetDisableInitialIndex(): void;
    get disableInitialIndexInput(): boolean | cdktf.IResolvable | undefined;
}
export interface DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig {
    /**
    * The token size limit for each chunk.
    * Supported values: 100-500 (inclusive). Default value: 500.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#chunk_size DiscoveryEngineDataStore#chunk_size}
    */
    readonly chunkSize?: number;
    /**
    * Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss.
    * Default value: False.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#include_ancestor_headings DiscoveryEngineDataStore#include_ancestor_headings}
    */
    readonly includeAncestorHeadings?: boolean | cdktf.IResolvable;
}
export declare function discoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfigToTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig): any;
export declare function discoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfigToHclTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig): any;
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfigOutputReference 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(): DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig | undefined;
    set internalValue(value: DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig | undefined);
    private _chunkSize?;
    get chunkSize(): number;
    set chunkSize(value: number);
    resetChunkSize(): void;
    get chunkSizeInput(): number | undefined;
    private _includeAncestorHeadings?;
    get includeAncestorHeadings(): boolean | cdktf.IResolvable;
    set includeAncestorHeadings(value: boolean | cdktf.IResolvable);
    resetIncludeAncestorHeadings(): void;
    get includeAncestorHeadingsInput(): boolean | cdktf.IResolvable | undefined;
}
export interface DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfig {
    /**
    * layout_based_chunking_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#layout_based_chunking_config DiscoveryEngineDataStore#layout_based_chunking_config}
    */
    readonly layoutBasedChunkingConfig?: DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig;
}
export declare function discoveryEngineDataStoreDocumentProcessingConfigChunkingConfigToTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfig): any;
export declare function discoveryEngineDataStoreDocumentProcessingConfigChunkingConfigToHclTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfig): any;
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigOutputReference 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(): DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfig | undefined;
    set internalValue(value: DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfig | undefined);
    private _layoutBasedChunkingConfig;
    get layoutBasedChunkingConfig(): DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfigOutputReference;
    putLayoutBasedChunkingConfig(value: DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig): void;
    resetLayoutBasedChunkingConfig(): void;
    get layoutBasedChunkingConfigInput(): DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig | undefined;
}
export interface DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfig {
}
export declare function discoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfigToTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfig): any;
export declare function discoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfigToHclTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfig): any;
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfigOutputReference 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(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfig | undefined;
    set internalValue(value: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfig | undefined);
}
export interface DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfig {
}
export declare function discoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfigToTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfig): any;
export declare function discoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfigToHclTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfig): any;
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfigOutputReference 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(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfig | undefined;
    set internalValue(value: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfig | undefined);
}
export interface DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfig {
    /**
    * If true, will use native text instead of OCR text on pages containing native text.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#use_native_text DiscoveryEngineDataStore#use_native_text}
    */
    readonly useNativeText?: boolean | cdktf.IResolvable;
}
export declare function discoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfigToTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfig): any;
export declare function discoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfigToHclTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfig): any;
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfigOutputReference 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(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfig | undefined;
    set internalValue(value: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfig | undefined);
    private _useNativeText?;
    get useNativeText(): boolean | cdktf.IResolvable;
    set useNativeText(value: boolean | cdktf.IResolvable);
    resetUseNativeText(): void;
    get useNativeTextInput(): boolean | cdktf.IResolvable | undefined;
}
export interface DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfig {
    /**
    * digital_parsing_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#digital_parsing_config DiscoveryEngineDataStore#digital_parsing_config}
    */
    readonly digitalParsingConfig?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfig;
    /**
    * layout_parsing_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#layout_parsing_config DiscoveryEngineDataStore#layout_parsing_config}
    */
    readonly layoutParsingConfig?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfig;
    /**
    * ocr_parsing_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#ocr_parsing_config DiscoveryEngineDataStore#ocr_parsing_config}
    */
    readonly ocrParsingConfig?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfig;
}
export declare function discoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigToTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfig): any;
export declare function discoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigToHclTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfig): any;
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOutputReference 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(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfig | undefined;
    set internalValue(value: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfig | undefined);
    private _digitalParsingConfig;
    get digitalParsingConfig(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfigOutputReference;
    putDigitalParsingConfig(value: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfig): void;
    resetDigitalParsingConfig(): void;
    get digitalParsingConfigInput(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigDigitalParsingConfig | undefined;
    private _layoutParsingConfig;
    get layoutParsingConfig(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfigOutputReference;
    putLayoutParsingConfig(value: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfig): void;
    resetLayoutParsingConfig(): void;
    get layoutParsingConfigInput(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigLayoutParsingConfig | undefined;
    private _ocrParsingConfig;
    get ocrParsingConfig(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfigOutputReference;
    putOcrParsingConfig(value: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfig): void;
    resetOcrParsingConfig(): void;
    get ocrParsingConfigInput(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOcrParsingConfig | undefined;
}
export interface DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfig {
}
export declare function discoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfigToTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfig): any;
export declare function discoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfigToHclTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfig): any;
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfigOutputReference 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(): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfig | undefined;
    set internalValue(value: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfig | undefined);
}
export interface DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfig {
}
export declare function discoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfigToTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfig): any;
export declare function discoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfigToHclTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfig): any;
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfigOutputReference 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(): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfig | undefined;
    set internalValue(value: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfig | undefined);
}
export interface DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfig {
    /**
    * If true, will use native text instead of OCR text on pages containing native text.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#use_native_text DiscoveryEngineDataStore#use_native_text}
    */
    readonly useNativeText?: boolean | cdktf.IResolvable;
}
export declare function discoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfigToTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfig): any;
export declare function discoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfigToHclTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfig): any;
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfigOutputReference 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(): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfig | undefined;
    set internalValue(value: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfig | undefined);
    private _useNativeText?;
    get useNativeText(): boolean | cdktf.IResolvable;
    set useNativeText(value: boolean | cdktf.IResolvable);
    resetUseNativeText(): void;
    get useNativeTextInput(): boolean | cdktf.IResolvable | undefined;
}
export interface DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverrides {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#file_type DiscoveryEngineDataStore#file_type}
    */
    readonly fileType: string;
    /**
    * digital_parsing_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#digital_parsing_config DiscoveryEngineDataStore#digital_parsing_config}
    */
    readonly digitalParsingConfig?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfig;
    /**
    * layout_parsing_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#layout_parsing_config DiscoveryEngineDataStore#layout_parsing_config}
    */
    readonly layoutParsingConfig?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfig;
    /**
    * ocr_parsing_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#ocr_parsing_config DiscoveryEngineDataStore#ocr_parsing_config}
    */
    readonly ocrParsingConfig?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfig;
}
export declare function discoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesToTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverrides | cdktf.IResolvable): any;
export declare function discoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesToHclTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverrides | cdktf.IResolvable): any;
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOutputReference 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(): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverrides | cdktf.IResolvable | undefined;
    set internalValue(value: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverrides | cdktf.IResolvable | undefined);
    private _fileType?;
    get fileType(): string;
    set fileType(value: string);
    get fileTypeInput(): string | undefined;
    private _digitalParsingConfig;
    get digitalParsingConfig(): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfigOutputReference;
    putDigitalParsingConfig(value: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfig): void;
    resetDigitalParsingConfig(): void;
    get digitalParsingConfigInput(): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesDigitalParsingConfig | undefined;
    private _layoutParsingConfig;
    get layoutParsingConfig(): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfigOutputReference;
    putLayoutParsingConfig(value: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfig): void;
    resetLayoutParsingConfig(): void;
    get layoutParsingConfigInput(): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesLayoutParsingConfig | undefined;
    private _ocrParsingConfig;
    get ocrParsingConfig(): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfigOutputReference;
    putOcrParsingConfig(value: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfig): void;
    resetOcrParsingConfig(): void;
    get ocrParsingConfigInput(): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOcrParsingConfig | undefined;
}
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverrides[] | 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): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesOutputReference;
}
export interface DiscoveryEngineDataStoreDocumentProcessingConfig {
    /**
    * chunking_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#chunking_config DiscoveryEngineDataStore#chunking_config}
    */
    readonly chunkingConfig?: DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfig;
    /**
    * default_parsing_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#default_parsing_config DiscoveryEngineDataStore#default_parsing_config}
    */
    readonly defaultParsingConfig?: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfig;
    /**
    * parsing_config_overrides block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#parsing_config_overrides DiscoveryEngineDataStore#parsing_config_overrides}
    */
    readonly parsingConfigOverrides?: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverrides[] | cdktf.IResolvable;
}
export declare function discoveryEngineDataStoreDocumentProcessingConfigToTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfig): any;
export declare function discoveryEngineDataStoreDocumentProcessingConfigToHclTerraform(struct?: DiscoveryEngineDataStoreDocumentProcessingConfigOutputReference | DiscoveryEngineDataStoreDocumentProcessingConfig): any;
export declare class DiscoveryEngineDataStoreDocumentProcessingConfigOutputReference 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(): DiscoveryEngineDataStoreDocumentProcessingConfig | undefined;
    set internalValue(value: DiscoveryEngineDataStoreDocumentProcessingConfig | undefined);
    get name(): string;
    private _chunkingConfig;
    get chunkingConfig(): DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfigOutputReference;
    putChunkingConfig(value: DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfig): void;
    resetChunkingConfig(): void;
    get chunkingConfigInput(): DiscoveryEngineDataStoreDocumentProcessingConfigChunkingConfig | undefined;
    private _defaultParsingConfig;
    get defaultParsingConfig(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfigOutputReference;
    putDefaultParsingConfig(value: DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfig): void;
    resetDefaultParsingConfig(): void;
    get defaultParsingConfigInput(): DiscoveryEngineDataStoreDocumentProcessingConfigDefaultParsingConfig | undefined;
    private _parsingConfigOverrides;
    get parsingConfigOverrides(): DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverridesList;
    putParsingConfigOverrides(value: DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverrides[] | cdktf.IResolvable): void;
    resetParsingConfigOverrides(): void;
    get parsingConfigOverridesInput(): cdktf.IResolvable | DiscoveryEngineDataStoreDocumentProcessingConfigParsingConfigOverrides[] | undefined;
}
export interface DiscoveryEngineDataStoreTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#create DiscoveryEngineDataStore#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#delete DiscoveryEngineDataStore#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#update DiscoveryEngineDataStore#update}
    */
    readonly update?: string;
}
export declare function discoveryEngineDataStoreTimeoutsToTerraform(struct?: DiscoveryEngineDataStoreTimeouts | cdktf.IResolvable): any;
export declare function discoveryEngineDataStoreTimeoutsToHclTerraform(struct?: DiscoveryEngineDataStoreTimeouts | cdktf.IResolvable): any;
export declare class DiscoveryEngineDataStoreTimeoutsOutputReference 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(): DiscoveryEngineDataStoreTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DiscoveryEngineDataStoreTimeouts | 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.40.0/docs/resources/discovery_engine_data_store google_discovery_engine_data_store}
*/
export declare class DiscoveryEngineDataStore extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_discovery_engine_data_store";
    /**
    * Generates CDKTF code for importing a DiscoveryEngineDataStore 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 DiscoveryEngineDataStore to import
    * @param importFromId The id of the existing DiscoveryEngineDataStore that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.40.0/docs/resources/discovery_engine_data_store#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DiscoveryEngineDataStore 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.40.0/docs/resources/discovery_engine_data_store google_discovery_engine_data_store} 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 DiscoveryEngineDataStoreConfig
    */
    constructor(scope: Construct, id: string, config: DiscoveryEngineDataStoreConfig);
    private _contentConfig?;
    get contentConfig(): string;
    set contentConfig(value: string);
    get contentConfigInput(): string | undefined;
    private _createAdvancedSiteSearch?;
    get createAdvancedSiteSearch(): boolean | cdktf.IResolvable;
    set createAdvancedSiteSearch(value: boolean | cdktf.IResolvable);
    resetCreateAdvancedSiteSearch(): void;
    get createAdvancedSiteSearchInput(): boolean | cdktf.IResolvable | undefined;
    get createTime(): string;
    private _dataStoreId?;
    get dataStoreId(): string;
    set dataStoreId(value: string);
    get dataStoreIdInput(): string | undefined;
    get defaultSchemaId(): string;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    get displayNameInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _industryVertical?;
    get industryVertical(): string;
    set industryVertical(value: string);
    get industryVerticalInput(): 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;
    private _skipDefaultSchemaCreation?;
    get skipDefaultSchemaCreation(): boolean | cdktf.IResolvable;
    set skipDefaultSchemaCreation(value: boolean | cdktf.IResolvable);
    resetSkipDefaultSchemaCreation(): void;
    get skipDefaultSchemaCreationInput(): boolean | cdktf.IResolvable | undefined;
    private _solutionTypes?;
    get solutionTypes(): string[];
    set solutionTypes(value: string[]);
    resetSolutionTypes(): void;
    get solutionTypesInput(): string[] | undefined;
    private _advancedSiteSearchConfig;
    get advancedSiteSearchConfig(): DiscoveryEngineDataStoreAdvancedSiteSearchConfigOutputReference;
    putAdvancedSiteSearchConfig(value: DiscoveryEngineDataStoreAdvancedSiteSearchConfig): void;
    resetAdvancedSiteSearchConfig(): void;
    get advancedSiteSearchConfigInput(): DiscoveryEngineDataStoreAdvancedSiteSearchConfig | undefined;
    private _documentProcessingConfig;
    get documentProcessingConfig(): DiscoveryEngineDataStoreDocumentProcessingConfigOutputReference;
    putDocumentProcessingConfig(value: DiscoveryEngineDataStoreDocumentProcessingConfig): void;
    resetDocumentProcessingConfig(): void;
    get documentProcessingConfigInput(): DiscoveryEngineDataStoreDocumentProcessingConfig | undefined;
    private _timeouts;
    get timeouts(): DiscoveryEngineDataStoreTimeoutsOutputReference;
    putTimeouts(value: DiscoveryEngineDataStoreTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DiscoveryEngineDataStoreTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
