/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DialogflowCxGenerativeSettingsConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#id DialogflowCxGenerativeSettings#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;
    /**
    * Language for this settings.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#language_code DialogflowCxGenerativeSettings#language_code}
    */
    readonly languageCode: string;
    /**
    * The agent to create a flow for.
    * Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#parent DialogflowCxGenerativeSettings#parent}
    */
    readonly parent?: string;
    /**
    * fallback_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#fallback_settings DialogflowCxGenerativeSettings#fallback_settings}
    */
    readonly fallbackSettings?: DialogflowCxGenerativeSettingsFallbackSettings;
    /**
    * generative_safety_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#generative_safety_settings DialogflowCxGenerativeSettings#generative_safety_settings}
    */
    readonly generativeSafetySettings?: DialogflowCxGenerativeSettingsGenerativeSafetySettings;
    /**
    * knowledge_connector_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#knowledge_connector_settings DialogflowCxGenerativeSettings#knowledge_connector_settings}
    */
    readonly knowledgeConnectorSettings?: DialogflowCxGenerativeSettingsKnowledgeConnectorSettings;
    /**
    * llm_model_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#llm_model_settings DialogflowCxGenerativeSettings#llm_model_settings}
    */
    readonly llmModelSettings?: DialogflowCxGenerativeSettingsLlmModelSettings;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#timeouts DialogflowCxGenerativeSettings#timeouts}
    */
    readonly timeouts?: DialogflowCxGenerativeSettingsTimeouts;
}
export interface DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplates {
    /**
    * Prompt name.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#display_name DialogflowCxGenerativeSettings#display_name}
    */
    readonly displayName?: string;
    /**
    * If the flag is true, the prompt is frozen and cannot be modified by users.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#frozen DialogflowCxGenerativeSettings#frozen}
    */
    readonly frozen?: boolean | cdktf.IResolvable;
    /**
    * Prompt text that is sent to a LLM on no-match default, placeholders are filled downstream. For example: "Here is a conversation $conversation, a response is: "
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#prompt_text DialogflowCxGenerativeSettings#prompt_text}
    */
    readonly promptText?: string;
}
export declare function dialogflowCxGenerativeSettingsFallbackSettingsPromptTemplatesToTerraform(struct?: DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplates | cdktf.IResolvable): any;
export declare function dialogflowCxGenerativeSettingsFallbackSettingsPromptTemplatesToHclTerraform(struct?: DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplates | cdktf.IResolvable): any;
export declare class DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplatesOutputReference 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(): DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplates | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplates | cdktf.IResolvable | undefined);
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _frozen?;
    get frozen(): boolean | cdktf.IResolvable;
    set frozen(value: boolean | cdktf.IResolvable);
    resetFrozen(): void;
    get frozenInput(): boolean | cdktf.IResolvable | undefined;
    private _promptText?;
    get promptText(): string;
    set promptText(value: string);
    resetPromptText(): void;
    get promptTextInput(): string | undefined;
}
export declare class DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplatesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplates[] | 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): DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplatesOutputReference;
}
export interface DialogflowCxGenerativeSettingsFallbackSettings {
    /**
    * Display name of the selected prompt.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#selected_prompt DialogflowCxGenerativeSettings#selected_prompt}
    */
    readonly selectedPrompt?: string;
    /**
    * prompt_templates block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#prompt_templates DialogflowCxGenerativeSettings#prompt_templates}
    */
    readonly promptTemplates?: DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplates[] | cdktf.IResolvable;
}
export declare function dialogflowCxGenerativeSettingsFallbackSettingsToTerraform(struct?: DialogflowCxGenerativeSettingsFallbackSettingsOutputReference | DialogflowCxGenerativeSettingsFallbackSettings): any;
export declare function dialogflowCxGenerativeSettingsFallbackSettingsToHclTerraform(struct?: DialogflowCxGenerativeSettingsFallbackSettingsOutputReference | DialogflowCxGenerativeSettingsFallbackSettings): any;
export declare class DialogflowCxGenerativeSettingsFallbackSettingsOutputReference 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(): DialogflowCxGenerativeSettingsFallbackSettings | undefined;
    set internalValue(value: DialogflowCxGenerativeSettingsFallbackSettings | undefined);
    private _selectedPrompt?;
    get selectedPrompt(): string;
    set selectedPrompt(value: string);
    resetSelectedPrompt(): void;
    get selectedPromptInput(): string | undefined;
    private _promptTemplates;
    get promptTemplates(): DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplatesList;
    putPromptTemplates(value: DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplates[] | cdktf.IResolvable): void;
    resetPromptTemplates(): void;
    get promptTemplatesInput(): cdktf.IResolvable | DialogflowCxGenerativeSettingsFallbackSettingsPromptTemplates[] | undefined;
}
export interface DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrases {
    /**
    * Language code of the phrase.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#language_code DialogflowCxGenerativeSettings#language_code}
    */
    readonly languageCode: string;
    /**
    * Text input which can be used for prompt or banned phrases.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#text DialogflowCxGenerativeSettings#text}
    */
    readonly text: string;
}
export declare function dialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrasesToTerraform(struct?: DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrases | cdktf.IResolvable): any;
export declare function dialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrasesToHclTerraform(struct?: DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrases | cdktf.IResolvable): any;
export declare class DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrasesOutputReference 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(): DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrases | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrases | cdktf.IResolvable | undefined);
    private _languageCode?;
    get languageCode(): string;
    set languageCode(value: string);
    get languageCodeInput(): string | undefined;
    private _text?;
    get text(): string;
    set text(value: string);
    get textInput(): string | undefined;
}
export declare class DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrasesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrases[] | 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): DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrasesOutputReference;
}
export interface DialogflowCxGenerativeSettingsGenerativeSafetySettings {
    /**
    * Optional. Default phrase match strategy for banned phrases.
    * See [PhraseMatchStrategy](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/GenerativeSettings#phrasematchstrategy) for valid values.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#default_banned_phrase_match_strategy DialogflowCxGenerativeSettings#default_banned_phrase_match_strategy}
    */
    readonly defaultBannedPhraseMatchStrategy?: string;
    /**
    * banned_phrases block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#banned_phrases DialogflowCxGenerativeSettings#banned_phrases}
    */
    readonly bannedPhrases?: DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrases[] | cdktf.IResolvable;
}
export declare function dialogflowCxGenerativeSettingsGenerativeSafetySettingsToTerraform(struct?: DialogflowCxGenerativeSettingsGenerativeSafetySettingsOutputReference | DialogflowCxGenerativeSettingsGenerativeSafetySettings): any;
export declare function dialogflowCxGenerativeSettingsGenerativeSafetySettingsToHclTerraform(struct?: DialogflowCxGenerativeSettingsGenerativeSafetySettingsOutputReference | DialogflowCxGenerativeSettingsGenerativeSafetySettings): any;
export declare class DialogflowCxGenerativeSettingsGenerativeSafetySettingsOutputReference 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(): DialogflowCxGenerativeSettingsGenerativeSafetySettings | undefined;
    set internalValue(value: DialogflowCxGenerativeSettingsGenerativeSafetySettings | undefined);
    private _defaultBannedPhraseMatchStrategy?;
    get defaultBannedPhraseMatchStrategy(): string;
    set defaultBannedPhraseMatchStrategy(value: string);
    resetDefaultBannedPhraseMatchStrategy(): void;
    get defaultBannedPhraseMatchStrategyInput(): string | undefined;
    private _bannedPhrases;
    get bannedPhrases(): DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrasesList;
    putBannedPhrases(value: DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrases[] | cdktf.IResolvable): void;
    resetBannedPhrases(): void;
    get bannedPhrasesInput(): cdktf.IResolvable | DialogflowCxGenerativeSettingsGenerativeSafetySettingsBannedPhrases[] | undefined;
}
export interface DialogflowCxGenerativeSettingsKnowledgeConnectorSettings {
    /**
    * Name of the virtual agent. Used for LLM prompt. Can be left empty.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#agent DialogflowCxGenerativeSettings#agent}
    */
    readonly agent?: string;
    /**
    * Identity of the agent, e.g. "virtual agent", "AI assistant".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#agent_identity DialogflowCxGenerativeSettings#agent_identity}
    */
    readonly agentIdentity?: string;
    /**
    * Agent scope, e.g. "Example company website", "internal Example company website for employees", "manual of car owner".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#agent_scope DialogflowCxGenerativeSettings#agent_scope}
    */
    readonly agentScope?: string;
    /**
    * Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#business DialogflowCxGenerativeSettings#business}
    */
    readonly business?: string;
    /**
    * Company description, used for LLM prompt, e.g. "a family company selling freshly roasted coffee beans".''
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#business_description DialogflowCxGenerativeSettings#business_description}
    */
    readonly businessDescription?: string;
    /**
    * Whether to disable fallback to Data Store search results (in case the LLM couldn't pick a proper answer). Per default the feature is enabled.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#disable_data_store_fallback DialogflowCxGenerativeSettings#disable_data_store_fallback}
    */
    readonly disableDataStoreFallback?: boolean | cdktf.IResolvable;
}
export declare function dialogflowCxGenerativeSettingsKnowledgeConnectorSettingsToTerraform(struct?: DialogflowCxGenerativeSettingsKnowledgeConnectorSettingsOutputReference | DialogflowCxGenerativeSettingsKnowledgeConnectorSettings): any;
export declare function dialogflowCxGenerativeSettingsKnowledgeConnectorSettingsToHclTerraform(struct?: DialogflowCxGenerativeSettingsKnowledgeConnectorSettingsOutputReference | DialogflowCxGenerativeSettingsKnowledgeConnectorSettings): any;
export declare class DialogflowCxGenerativeSettingsKnowledgeConnectorSettingsOutputReference 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(): DialogflowCxGenerativeSettingsKnowledgeConnectorSettings | undefined;
    set internalValue(value: DialogflowCxGenerativeSettingsKnowledgeConnectorSettings | undefined);
    private _agent?;
    get agent(): string;
    set agent(value: string);
    resetAgent(): void;
    get agentInput(): string | undefined;
    private _agentIdentity?;
    get agentIdentity(): string;
    set agentIdentity(value: string);
    resetAgentIdentity(): void;
    get agentIdentityInput(): string | undefined;
    private _agentScope?;
    get agentScope(): string;
    set agentScope(value: string);
    resetAgentScope(): void;
    get agentScopeInput(): string | undefined;
    private _business?;
    get business(): string;
    set business(value: string);
    resetBusiness(): void;
    get businessInput(): string | undefined;
    private _businessDescription?;
    get businessDescription(): string;
    set businessDescription(value: string);
    resetBusinessDescription(): void;
    get businessDescriptionInput(): string | undefined;
    private _disableDataStoreFallback?;
    get disableDataStoreFallback(): boolean | cdktf.IResolvable;
    set disableDataStoreFallback(value: boolean | cdktf.IResolvable);
    resetDisableDataStoreFallback(): void;
    get disableDataStoreFallbackInput(): boolean | cdktf.IResolvable | undefined;
}
export interface DialogflowCxGenerativeSettingsLlmModelSettings {
    /**
    * The selected LLM model.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#model DialogflowCxGenerativeSettings#model}
    */
    readonly model?: string;
    /**
    * The custom prompt to use.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#prompt_text DialogflowCxGenerativeSettings#prompt_text}
    */
    readonly promptText?: string;
}
export declare function dialogflowCxGenerativeSettingsLlmModelSettingsToTerraform(struct?: DialogflowCxGenerativeSettingsLlmModelSettingsOutputReference | DialogflowCxGenerativeSettingsLlmModelSettings): any;
export declare function dialogflowCxGenerativeSettingsLlmModelSettingsToHclTerraform(struct?: DialogflowCxGenerativeSettingsLlmModelSettingsOutputReference | DialogflowCxGenerativeSettingsLlmModelSettings): any;
export declare class DialogflowCxGenerativeSettingsLlmModelSettingsOutputReference 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(): DialogflowCxGenerativeSettingsLlmModelSettings | undefined;
    set internalValue(value: DialogflowCxGenerativeSettingsLlmModelSettings | undefined);
    private _model?;
    get model(): string;
    set model(value: string);
    resetModel(): void;
    get modelInput(): string | undefined;
    private _promptText?;
    get promptText(): string;
    set promptText(value: string);
    resetPromptText(): void;
    get promptTextInput(): string | undefined;
}
export interface DialogflowCxGenerativeSettingsTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#create DialogflowCxGenerativeSettings#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#delete DialogflowCxGenerativeSettings#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#update DialogflowCxGenerativeSettings#update}
    */
    readonly update?: string;
}
export declare function dialogflowCxGenerativeSettingsTimeoutsToTerraform(struct?: DialogflowCxGenerativeSettingsTimeouts | cdktf.IResolvable): any;
export declare function dialogflowCxGenerativeSettingsTimeoutsToHclTerraform(struct?: DialogflowCxGenerativeSettingsTimeouts | cdktf.IResolvable): any;
export declare class DialogflowCxGenerativeSettingsTimeoutsOutputReference 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(): DialogflowCxGenerativeSettingsTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxGenerativeSettingsTimeouts | 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.50.0/docs/resources/dialogflow_cx_generative_settings google_dialogflow_cx_generative_settings}
*/
export declare class DialogflowCxGenerativeSettings extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_dialogflow_cx_generative_settings";
    /**
    * Generates CDKTF code for importing a DialogflowCxGenerativeSettings 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 DialogflowCxGenerativeSettings to import
    * @param importFromId The id of the existing DialogflowCxGenerativeSettings that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/dialogflow_cx_generative_settings#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DialogflowCxGenerativeSettings 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.50.0/docs/resources/dialogflow_cx_generative_settings google_dialogflow_cx_generative_settings} 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 DialogflowCxGenerativeSettingsConfig
    */
    constructor(scope: Construct, id: string, config: DialogflowCxGenerativeSettingsConfig);
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _languageCode?;
    get languageCode(): string;
    set languageCode(value: string);
    get languageCodeInput(): string | undefined;
    get name(): string;
    private _parent?;
    get parent(): string;
    set parent(value: string);
    resetParent(): void;
    get parentInput(): string | undefined;
    private _fallbackSettings;
    get fallbackSettings(): DialogflowCxGenerativeSettingsFallbackSettingsOutputReference;
    putFallbackSettings(value: DialogflowCxGenerativeSettingsFallbackSettings): void;
    resetFallbackSettings(): void;
    get fallbackSettingsInput(): DialogflowCxGenerativeSettingsFallbackSettings | undefined;
    private _generativeSafetySettings;
    get generativeSafetySettings(): DialogflowCxGenerativeSettingsGenerativeSafetySettingsOutputReference;
    putGenerativeSafetySettings(value: DialogflowCxGenerativeSettingsGenerativeSafetySettings): void;
    resetGenerativeSafetySettings(): void;
    get generativeSafetySettingsInput(): DialogflowCxGenerativeSettingsGenerativeSafetySettings | undefined;
    private _knowledgeConnectorSettings;
    get knowledgeConnectorSettings(): DialogflowCxGenerativeSettingsKnowledgeConnectorSettingsOutputReference;
    putKnowledgeConnectorSettings(value: DialogflowCxGenerativeSettingsKnowledgeConnectorSettings): void;
    resetKnowledgeConnectorSettings(): void;
    get knowledgeConnectorSettingsInput(): DialogflowCxGenerativeSettingsKnowledgeConnectorSettings | undefined;
    private _llmModelSettings;
    get llmModelSettings(): DialogflowCxGenerativeSettingsLlmModelSettingsOutputReference;
    putLlmModelSettings(value: DialogflowCxGenerativeSettingsLlmModelSettings): void;
    resetLlmModelSettings(): void;
    get llmModelSettingsInput(): DialogflowCxGenerativeSettingsLlmModelSettings | undefined;
    private _timeouts;
    get timeouts(): DialogflowCxGenerativeSettingsTimeoutsOutputReference;
    putTimeouts(value: DialogflowCxGenerativeSettingsTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DialogflowCxGenerativeSettingsTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
