/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DialogflowCxFlowConfig extends cdktf.TerraformMetaArguments {
    /**
    * The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#description DialogflowCxFlow#description}
    */
    readonly description?: string;
    /**
    * The human-readable name of the flow.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#display_name DialogflowCxFlow#display_name}
    */
    readonly displayName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#id DialogflowCxFlow#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;
    /**
    * Marks this as the [Default Start Flow](https://cloud.google.com/dialogflow/cx/docs/concept/flow#start) for an agent. When you create an agent, the Default Start Flow is created automatically.
    * The Default Start Flow cannot be deleted; deleting the 'google_dialogflow_cx_flow' resource does nothing to the underlying GCP resources.
    *
    * ~> Avoid having multiple 'google_dialogflow_cx_flow' resources linked to the same agent with 'is_default_start_flow = true' because they will compete to control a single Default Start Flow resource in GCP.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#is_default_start_flow DialogflowCxFlow#is_default_start_flow}
    */
    readonly isDefaultStartFlow?: boolean | cdktf.IResolvable;
    /**
    * The language of the following fields in flow:
    * Flow.event_handlers.trigger_fulfillment.messages
    * Flow.event_handlers.trigger_fulfillment.conditional_cases
    * Flow.transition_routes.trigger_fulfillment.messages
    * Flow.transition_routes.trigger_fulfillment.conditional_cases
    * If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#language_code DialogflowCxFlow#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/5.23.0/docs/resources/dialogflow_cx_flow#parent DialogflowCxFlow#parent}
    */
    readonly parent?: string;
    /**
    * A flow's transition route group serve two purposes:
    * They are responsible for matching the user's first utterances in the flow.
    * They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow.
    * Format:projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/transitionRouteGroups/<TransitionRouteGroup ID>.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#transition_route_groups DialogflowCxFlow#transition_route_groups}
    */
    readonly transitionRouteGroups?: string[];
    /**
    * advanced_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#advanced_settings DialogflowCxFlow#advanced_settings}
    */
    readonly advancedSettings?: DialogflowCxFlowAdvancedSettings;
    /**
    * event_handlers block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#event_handlers DialogflowCxFlow#event_handlers}
    */
    readonly eventHandlers?: DialogflowCxFlowEventHandlers[] | cdktf.IResolvable;
    /**
    * nlu_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#nlu_settings DialogflowCxFlow#nlu_settings}
    */
    readonly nluSettings?: DialogflowCxFlowNluSettings;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#timeouts DialogflowCxFlow#timeouts}
    */
    readonly timeouts?: DialogflowCxFlowTimeouts;
    /**
    * transition_routes block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#transition_routes DialogflowCxFlow#transition_routes}
    */
    readonly transitionRoutes?: DialogflowCxFlowTransitionRoutes[] | cdktf.IResolvable;
}
export interface DialogflowCxFlowAdvancedSettingsAudioExportGcsDestination {
    /**
    * The Google Cloud Storage URI for the exported objects. Whether a full object name, or just a prefix, its usage depends on the Dialogflow operation.
    * Format: gs://bucket/object-name-or-prefix
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#uri DialogflowCxFlow#uri}
    */
    readonly uri?: string;
}
export declare function dialogflowCxFlowAdvancedSettingsAudioExportGcsDestinationToTerraform(struct?: DialogflowCxFlowAdvancedSettingsAudioExportGcsDestinationOutputReference | DialogflowCxFlowAdvancedSettingsAudioExportGcsDestination): any;
export declare function dialogflowCxFlowAdvancedSettingsAudioExportGcsDestinationToHclTerraform(struct?: DialogflowCxFlowAdvancedSettingsAudioExportGcsDestinationOutputReference | DialogflowCxFlowAdvancedSettingsAudioExportGcsDestination): any;
export declare class DialogflowCxFlowAdvancedSettingsAudioExportGcsDestinationOutputReference 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(): DialogflowCxFlowAdvancedSettingsAudioExportGcsDestination | undefined;
    set internalValue(value: DialogflowCxFlowAdvancedSettingsAudioExportGcsDestination | undefined);
    private _uri?;
    get uri(): string;
    set uri(value: string);
    resetUri(): void;
    get uriInput(): string | undefined;
}
export interface DialogflowCxFlowAdvancedSettingsDtmfSettings {
    /**
    * If true, incoming audio is processed for DTMF (dual tone multi frequency) events. For example, if the caller presses a button on their telephone keypad and DTMF processing is enabled, Dialogflow will detect the event (e.g. a "3" was pressed) in the incoming audio and pass the event to the bot to drive business logic (e.g. when 3 is pressed, return the account balance).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#enabled DialogflowCxFlow#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
    /**
    * The digit that terminates a DTMF digit sequence.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#finish_digit DialogflowCxFlow#finish_digit}
    */
    readonly finishDigit?: string;
    /**
    * Max length of DTMF digits.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#max_digits DialogflowCxFlow#max_digits}
    */
    readonly maxDigits?: number;
}
export declare function dialogflowCxFlowAdvancedSettingsDtmfSettingsToTerraform(struct?: DialogflowCxFlowAdvancedSettingsDtmfSettingsOutputReference | DialogflowCxFlowAdvancedSettingsDtmfSettings): any;
export declare function dialogflowCxFlowAdvancedSettingsDtmfSettingsToHclTerraform(struct?: DialogflowCxFlowAdvancedSettingsDtmfSettingsOutputReference | DialogflowCxFlowAdvancedSettingsDtmfSettings): any;
export declare class DialogflowCxFlowAdvancedSettingsDtmfSettingsOutputReference 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(): DialogflowCxFlowAdvancedSettingsDtmfSettings | undefined;
    set internalValue(value: DialogflowCxFlowAdvancedSettingsDtmfSettings | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _finishDigit?;
    get finishDigit(): string;
    set finishDigit(value: string);
    resetFinishDigit(): void;
    get finishDigitInput(): string | undefined;
    private _maxDigits?;
    get maxDigits(): number;
    set maxDigits(value: number);
    resetMaxDigits(): void;
    get maxDigitsInput(): number | undefined;
}
export interface DialogflowCxFlowAdvancedSettings {
    /**
    * audio_export_gcs_destination block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#audio_export_gcs_destination DialogflowCxFlow#audio_export_gcs_destination}
    */
    readonly audioExportGcsDestination?: DialogflowCxFlowAdvancedSettingsAudioExportGcsDestination;
    /**
    * dtmf_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#dtmf_settings DialogflowCxFlow#dtmf_settings}
    */
    readonly dtmfSettings?: DialogflowCxFlowAdvancedSettingsDtmfSettings;
}
export declare function dialogflowCxFlowAdvancedSettingsToTerraform(struct?: DialogflowCxFlowAdvancedSettingsOutputReference | DialogflowCxFlowAdvancedSettings): any;
export declare function dialogflowCxFlowAdvancedSettingsToHclTerraform(struct?: DialogflowCxFlowAdvancedSettingsOutputReference | DialogflowCxFlowAdvancedSettings): any;
export declare class DialogflowCxFlowAdvancedSettingsOutputReference 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(): DialogflowCxFlowAdvancedSettings | undefined;
    set internalValue(value: DialogflowCxFlowAdvancedSettings | undefined);
    private _audioExportGcsDestination;
    get audioExportGcsDestination(): DialogflowCxFlowAdvancedSettingsAudioExportGcsDestinationOutputReference;
    putAudioExportGcsDestination(value: DialogflowCxFlowAdvancedSettingsAudioExportGcsDestination): void;
    resetAudioExportGcsDestination(): void;
    get audioExportGcsDestinationInput(): DialogflowCxFlowAdvancedSettingsAudioExportGcsDestination | undefined;
    private _dtmfSettings;
    get dtmfSettings(): DialogflowCxFlowAdvancedSettingsDtmfSettingsOutputReference;
    putDtmfSettings(value: DialogflowCxFlowAdvancedSettingsDtmfSettings): void;
    resetDtmfSettings(): void;
    get dtmfSettingsInput(): DialogflowCxFlowAdvancedSettingsDtmfSettings | undefined;
}
export interface DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCases {
    /**
    * A JSON encoded list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.
    * See [Case](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/Fulfillment#case) for the schema.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#cases DialogflowCxFlow#cases}
    */
    readonly cases?: string;
}
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCasesToTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCases | cdktf.IResolvable): any;
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCasesToHclTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCases | cdktf.IResolvable): any;
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCasesOutputReference 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(): DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCases | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCases | cdktf.IResolvable | undefined);
    private _cases?;
    get cases(): string;
    set cases(value: string);
    resetCases(): void;
    get casesInput(): string | undefined;
}
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCasesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCases[] | 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): DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCasesOutputReference;
}
export interface DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccess {
    /**
    * Custom metadata. Dialogflow doesn't impose any structure on this.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#metadata DialogflowCxFlow#metadata}
    */
    readonly metadata?: string;
}
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccessToTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccessOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccess): any;
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccessToHclTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccessOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccess): any;
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccessOutputReference 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(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccess | undefined;
    set internalValue(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccess | undefined);
    private _metadata?;
    get metadata(): string;
    set metadata(value: string);
    resetMetadata(): void;
    get metadataInput(): string | undefined;
}
export interface DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoff {
    /**
    * Custom metadata. Dialogflow doesn't impose any structure on this.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#metadata DialogflowCxFlow#metadata}
    */
    readonly metadata?: string;
}
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoffToTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoffOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoff): any;
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoffToHclTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoffOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoff): any;
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoffOutputReference 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(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoff | undefined;
    set internalValue(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoff | undefined);
    private _metadata?;
    get metadata(): string;
    set metadata(value: string);
    resetMetadata(): void;
    get metadataInput(): string | undefined;
}
export interface DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioText {
    /**
    * The SSML text to be synthesized. For more information, see SSML.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#ssml DialogflowCxFlow#ssml}
    */
    readonly ssml?: string;
    /**
    * The raw text to be synthesized.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#text DialogflowCxFlow#text}
    */
    readonly text?: string;
}
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioTextToTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioTextOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioText): any;
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioTextToHclTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioTextOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioText): any;
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioTextOutputReference 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(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioText | undefined;
    set internalValue(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioText | undefined);
    get allowPlaybackInterruption(): cdktf.IResolvable;
    private _ssml?;
    get ssml(): string;
    set ssml(value: string);
    resetSsml(): void;
    get ssmlInput(): string | undefined;
    private _text?;
    get text(): string;
    set text(value: string);
    resetText(): void;
    get textInput(): string | undefined;
}
export interface DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudio {
    /**
    * URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#audio_uri DialogflowCxFlow#audio_uri}
    */
    readonly audioUri: string;
}
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudioToTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudioOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudio): any;
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudioToHclTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudioOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudio): any;
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudioOutputReference 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(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudio | undefined;
    set internalValue(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudio | undefined);
    get allowPlaybackInterruption(): cdktf.IResolvable;
    private _audioUri?;
    get audioUri(): string;
    set audioUri(value: string);
    get audioUriInput(): string | undefined;
}
export interface DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCall {
    /**
    * Transfer the call to a phone number in E.164 format.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#phone_number DialogflowCxFlow#phone_number}
    */
    readonly phoneNumber: string;
}
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCallToTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCallOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCall): any;
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCallToHclTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCallOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCall): any;
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCallOutputReference 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(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCall | undefined;
    set internalValue(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCall | undefined);
    private _phoneNumber?;
    get phoneNumber(): string;
    set phoneNumber(value: string);
    get phoneNumberInput(): string | undefined;
}
export interface DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText {
    /**
    * A collection of text responses.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#text DialogflowCxFlow#text}
    */
    readonly text?: string[];
}
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTextToTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTextOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText): any;
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTextToHclTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTextOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText): any;
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTextOutputReference 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(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText | undefined;
    set internalValue(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText | undefined);
    get allowPlaybackInterruption(): cdktf.IResolvable;
    private _text?;
    get text(): string[];
    set text(value: string[]);
    resetText(): void;
    get textInput(): string[] | undefined;
}
export interface DialogflowCxFlowEventHandlersTriggerFulfillmentMessages {
    /**
    * The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#channel DialogflowCxFlow#channel}
    */
    readonly channel?: string;
    /**
    * A custom, platform-specific payload.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#payload DialogflowCxFlow#payload}
    */
    readonly payload?: string;
    /**
    * conversation_success block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#conversation_success DialogflowCxFlow#conversation_success}
    */
    readonly conversationSuccess?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccess;
    /**
    * live_agent_handoff block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#live_agent_handoff DialogflowCxFlow#live_agent_handoff}
    */
    readonly liveAgentHandoff?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoff;
    /**
    * output_audio_text block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#output_audio_text DialogflowCxFlow#output_audio_text}
    */
    readonly outputAudioText?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioText;
    /**
    * play_audio block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#play_audio DialogflowCxFlow#play_audio}
    */
    readonly playAudio?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudio;
    /**
    * telephony_transfer_call block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#telephony_transfer_call DialogflowCxFlow#telephony_transfer_call}
    */
    readonly telephonyTransferCall?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCall;
    /**
    * text block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#text DialogflowCxFlow#text}
    */
    readonly text?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText;
}
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesToTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessages | cdktf.IResolvable): any;
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentMessagesToHclTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessages | cdktf.IResolvable): any;
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputReference 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(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessages | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessages | cdktf.IResolvable | undefined);
    private _channel?;
    get channel(): string;
    set channel(value: string);
    resetChannel(): void;
    get channelInput(): string | undefined;
    private _payload?;
    get payload(): string;
    set payload(value: string);
    resetPayload(): void;
    get payloadInput(): string | undefined;
    private _conversationSuccess;
    get conversationSuccess(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccessOutputReference;
    putConversationSuccess(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccess): void;
    resetConversationSuccess(): void;
    get conversationSuccessInput(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesConversationSuccess | undefined;
    private _liveAgentHandoff;
    get liveAgentHandoff(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoffOutputReference;
    putLiveAgentHandoff(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoff): void;
    resetLiveAgentHandoff(): void;
    get liveAgentHandoffInput(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesLiveAgentHandoff | undefined;
    private _outputAudioText;
    get outputAudioText(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioTextOutputReference;
    putOutputAudioText(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioText): void;
    resetOutputAudioText(): void;
    get outputAudioTextInput(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputAudioText | undefined;
    private _playAudio;
    get playAudio(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudioOutputReference;
    putPlayAudio(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudio): void;
    resetPlayAudio(): void;
    get playAudioInput(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesPlayAudio | undefined;
    private _telephonyTransferCall;
    get telephonyTransferCall(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCallOutputReference;
    putTelephonyTransferCall(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCall): void;
    resetTelephonyTransferCall(): void;
    get telephonyTransferCallInput(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTelephonyTransferCall | undefined;
    private _text;
    get text(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesTextOutputReference;
    putText(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText): void;
    resetText(): void;
    get textInput(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesText | undefined;
}
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessages[] | 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): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesOutputReference;
}
export interface DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActions {
    /**
    * Display name of the parameter.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#parameter DialogflowCxFlow#parameter}
    */
    readonly parameter?: string;
    /**
    * The new JSON-encoded value of the parameter. A null value clears the parameter.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#value DialogflowCxFlow#value}
    */
    readonly value?: string;
}
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActionsToTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActions | cdktf.IResolvable): any;
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActionsToHclTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActions | cdktf.IResolvable): any;
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActionsOutputReference 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(): DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActions | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActions | cdktf.IResolvable | undefined);
    private _parameter?;
    get parameter(): string;
    set parameter(value: string);
    resetParameter(): void;
    get parameterInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    resetValue(): void;
    get valueInput(): string | undefined;
}
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActionsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActions[] | 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): DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActionsOutputReference;
}
export interface DialogflowCxFlowEventHandlersTriggerFulfillment {
    /**
    * Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#return_partial_responses DialogflowCxFlow#return_partial_responses}
    */
    readonly returnPartialResponses?: boolean | cdktf.IResolvable;
    /**
    * The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#tag DialogflowCxFlow#tag}
    */
    readonly tag?: string;
    /**
    * The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#webhook DialogflowCxFlow#webhook}
    */
    readonly webhook?: string;
    /**
    * conditional_cases block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#conditional_cases DialogflowCxFlow#conditional_cases}
    */
    readonly conditionalCases?: DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCases[] | cdktf.IResolvable;
    /**
    * messages block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#messages DialogflowCxFlow#messages}
    */
    readonly messages?: DialogflowCxFlowEventHandlersTriggerFulfillmentMessages[] | cdktf.IResolvable;
    /**
    * set_parameter_actions block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#set_parameter_actions DialogflowCxFlow#set_parameter_actions}
    */
    readonly setParameterActions?: DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActions[] | cdktf.IResolvable;
}
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentToTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillment): any;
export declare function dialogflowCxFlowEventHandlersTriggerFulfillmentToHclTerraform(struct?: DialogflowCxFlowEventHandlersTriggerFulfillmentOutputReference | DialogflowCxFlowEventHandlersTriggerFulfillment): any;
export declare class DialogflowCxFlowEventHandlersTriggerFulfillmentOutputReference 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(): DialogflowCxFlowEventHandlersTriggerFulfillment | undefined;
    set internalValue(value: DialogflowCxFlowEventHandlersTriggerFulfillment | undefined);
    private _returnPartialResponses?;
    get returnPartialResponses(): boolean | cdktf.IResolvable;
    set returnPartialResponses(value: boolean | cdktf.IResolvable);
    resetReturnPartialResponses(): void;
    get returnPartialResponsesInput(): boolean | cdktf.IResolvable | undefined;
    private _tag?;
    get tag(): string;
    set tag(value: string);
    resetTag(): void;
    get tagInput(): string | undefined;
    private _webhook?;
    get webhook(): string;
    set webhook(value: string);
    resetWebhook(): void;
    get webhookInput(): string | undefined;
    private _conditionalCases;
    get conditionalCases(): DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCasesList;
    putConditionalCases(value: DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCases[] | cdktf.IResolvable): void;
    resetConditionalCases(): void;
    get conditionalCasesInput(): cdktf.IResolvable | DialogflowCxFlowEventHandlersTriggerFulfillmentConditionalCases[] | undefined;
    private _messages;
    get messages(): DialogflowCxFlowEventHandlersTriggerFulfillmentMessagesList;
    putMessages(value: DialogflowCxFlowEventHandlersTriggerFulfillmentMessages[] | cdktf.IResolvable): void;
    resetMessages(): void;
    get messagesInput(): cdktf.IResolvable | DialogflowCxFlowEventHandlersTriggerFulfillmentMessages[] | undefined;
    private _setParameterActions;
    get setParameterActions(): DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActionsList;
    putSetParameterActions(value: DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActions[] | cdktf.IResolvable): void;
    resetSetParameterActions(): void;
    get setParameterActionsInput(): cdktf.IResolvable | DialogflowCxFlowEventHandlersTriggerFulfillmentSetParameterActions[] | undefined;
}
export interface DialogflowCxFlowEventHandlers {
    /**
    * The name of the event to handle.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#event DialogflowCxFlow#event}
    */
    readonly event?: string;
    /**
    * The target flow to transition to.
    * Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#target_flow DialogflowCxFlow#target_flow}
    */
    readonly targetFlow?: string;
    /**
    * The target page to transition to.
    * Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#target_page DialogflowCxFlow#target_page}
    */
    readonly targetPage?: string;
    /**
    * trigger_fulfillment block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#trigger_fulfillment DialogflowCxFlow#trigger_fulfillment}
    */
    readonly triggerFulfillment?: DialogflowCxFlowEventHandlersTriggerFulfillment;
}
export declare function dialogflowCxFlowEventHandlersToTerraform(struct?: DialogflowCxFlowEventHandlers | cdktf.IResolvable): any;
export declare function dialogflowCxFlowEventHandlersToHclTerraform(struct?: DialogflowCxFlowEventHandlers | cdktf.IResolvable): any;
export declare class DialogflowCxFlowEventHandlersOutputReference 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(): DialogflowCxFlowEventHandlers | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxFlowEventHandlers | cdktf.IResolvable | undefined);
    private _event?;
    get event(): string;
    set event(value: string);
    resetEvent(): void;
    get eventInput(): string | undefined;
    get name(): string;
    private _targetFlow?;
    get targetFlow(): string;
    set targetFlow(value: string);
    resetTargetFlow(): void;
    get targetFlowInput(): string | undefined;
    private _targetPage?;
    get targetPage(): string;
    set targetPage(value: string);
    resetTargetPage(): void;
    get targetPageInput(): string | undefined;
    private _triggerFulfillment;
    get triggerFulfillment(): DialogflowCxFlowEventHandlersTriggerFulfillmentOutputReference;
    putTriggerFulfillment(value: DialogflowCxFlowEventHandlersTriggerFulfillment): void;
    resetTriggerFulfillment(): void;
    get triggerFulfillmentInput(): DialogflowCxFlowEventHandlersTriggerFulfillment | undefined;
}
export declare class DialogflowCxFlowEventHandlersList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DialogflowCxFlowEventHandlers[] | 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): DialogflowCxFlowEventHandlersOutputReference;
}
export interface DialogflowCxFlowNluSettings {
    /**
    * To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold.
    * If the returned score value is less than the threshold value, then a no-match event will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#classification_threshold DialogflowCxFlow#classification_threshold}
    */
    readonly classificationThreshold?: number;
    /**
    * Indicates NLU model training mode.
    * * MODEL_TRAINING_MODE_AUTOMATIC: NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode.
    * * MODEL_TRAINING_MODE_MANUAL: User needs to manually trigger NLU model training. Best for large flows whose models take long time to train. Possible values: ["MODEL_TRAINING_MODE_AUTOMATIC", "MODEL_TRAINING_MODE_MANUAL"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#model_training_mode DialogflowCxFlow#model_training_mode}
    */
    readonly modelTrainingMode?: string;
    /**
    * Indicates the type of NLU model.
    * * MODEL_TYPE_STANDARD: Use standard NLU model.
    * * MODEL_TYPE_ADVANCED: Use advanced NLU model. Possible values: ["MODEL_TYPE_STANDARD", "MODEL_TYPE_ADVANCED"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#model_type DialogflowCxFlow#model_type}
    */
    readonly modelType?: string;
}
export declare function dialogflowCxFlowNluSettingsToTerraform(struct?: DialogflowCxFlowNluSettingsOutputReference | DialogflowCxFlowNluSettings): any;
export declare function dialogflowCxFlowNluSettingsToHclTerraform(struct?: DialogflowCxFlowNluSettingsOutputReference | DialogflowCxFlowNluSettings): any;
export declare class DialogflowCxFlowNluSettingsOutputReference 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(): DialogflowCxFlowNluSettings | undefined;
    set internalValue(value: DialogflowCxFlowNluSettings | undefined);
    private _classificationThreshold?;
    get classificationThreshold(): number;
    set classificationThreshold(value: number);
    resetClassificationThreshold(): void;
    get classificationThresholdInput(): number | undefined;
    private _modelTrainingMode?;
    get modelTrainingMode(): string;
    set modelTrainingMode(value: string);
    resetModelTrainingMode(): void;
    get modelTrainingModeInput(): string | undefined;
    private _modelType?;
    get modelType(): string;
    set modelType(value: string);
    resetModelType(): void;
    get modelTypeInput(): string | undefined;
}
export interface DialogflowCxFlowTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#create DialogflowCxFlow#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#delete DialogflowCxFlow#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#update DialogflowCxFlow#update}
    */
    readonly update?: string;
}
export declare function dialogflowCxFlowTimeoutsToTerraform(struct?: DialogflowCxFlowTimeouts | cdktf.IResolvable): any;
export declare function dialogflowCxFlowTimeoutsToHclTerraform(struct?: DialogflowCxFlowTimeouts | cdktf.IResolvable): any;
export declare class DialogflowCxFlowTimeoutsOutputReference 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(): DialogflowCxFlowTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxFlowTimeouts | 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;
}
export interface DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCases {
    /**
    * A JSON encoded list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.
    * See [Case](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/Fulfillment#case) for the schema.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#cases DialogflowCxFlow#cases}
    */
    readonly cases?: string;
}
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCasesToTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCases | cdktf.IResolvable): any;
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCasesToHclTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCases | cdktf.IResolvable): any;
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCasesOutputReference 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(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCases | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCases | cdktf.IResolvable | undefined);
    private _cases?;
    get cases(): string;
    set cases(value: string);
    resetCases(): void;
    get casesInput(): string | undefined;
}
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCasesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCases[] | 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): DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCasesOutputReference;
}
export interface DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccess {
    /**
    * Custom metadata. Dialogflow doesn't impose any structure on this.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#metadata DialogflowCxFlow#metadata}
    */
    readonly metadata?: string;
}
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccessToTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccessOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccess): any;
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccessToHclTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccessOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccess): any;
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccessOutputReference 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(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccess | undefined;
    set internalValue(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccess | undefined);
    private _metadata?;
    get metadata(): string;
    set metadata(value: string);
    resetMetadata(): void;
    get metadataInput(): string | undefined;
}
export interface DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoff {
    /**
    * Custom metadata. Dialogflow doesn't impose any structure on this.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#metadata DialogflowCxFlow#metadata}
    */
    readonly metadata?: string;
}
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoffToTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoffOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoff): any;
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoffToHclTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoffOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoff): any;
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoffOutputReference 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(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoff | undefined;
    set internalValue(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoff | undefined);
    private _metadata?;
    get metadata(): string;
    set metadata(value: string);
    resetMetadata(): void;
    get metadataInput(): string | undefined;
}
export interface DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioText {
    /**
    * The SSML text to be synthesized. For more information, see SSML.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#ssml DialogflowCxFlow#ssml}
    */
    readonly ssml?: string;
    /**
    * The raw text to be synthesized.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#text DialogflowCxFlow#text}
    */
    readonly text?: string;
}
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioTextToTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioTextOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioText): any;
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioTextToHclTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioTextOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioText): any;
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioTextOutputReference 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(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioText | undefined;
    set internalValue(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioText | undefined);
    get allowPlaybackInterruption(): cdktf.IResolvable;
    private _ssml?;
    get ssml(): string;
    set ssml(value: string);
    resetSsml(): void;
    get ssmlInput(): string | undefined;
    private _text?;
    get text(): string;
    set text(value: string);
    resetText(): void;
    get textInput(): string | undefined;
}
export interface DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudio {
    /**
    * URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#audio_uri DialogflowCxFlow#audio_uri}
    */
    readonly audioUri: string;
}
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudioToTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudioOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudio): any;
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudioToHclTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudioOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudio): any;
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudioOutputReference 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(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudio | undefined;
    set internalValue(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudio | undefined);
    get allowPlaybackInterruption(): cdktf.IResolvable;
    private _audioUri?;
    get audioUri(): string;
    set audioUri(value: string);
    get audioUriInput(): string | undefined;
}
export interface DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCall {
    /**
    * Transfer the call to a phone number in E.164 format.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#phone_number DialogflowCxFlow#phone_number}
    */
    readonly phoneNumber: string;
}
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCallToTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCallOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCall): any;
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCallToHclTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCallOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCall): any;
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCallOutputReference 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(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCall | undefined;
    set internalValue(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCall | undefined);
    private _phoneNumber?;
    get phoneNumber(): string;
    set phoneNumber(value: string);
    get phoneNumberInput(): string | undefined;
}
export interface DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText {
    /**
    * A collection of text responses.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#text DialogflowCxFlow#text}
    */
    readonly text?: string[];
}
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTextToTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTextOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText): any;
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTextToHclTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTextOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText): any;
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTextOutputReference 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(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText | undefined;
    set internalValue(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText | undefined);
    get allowPlaybackInterruption(): cdktf.IResolvable;
    private _text?;
    get text(): string[];
    set text(value: string[]);
    resetText(): void;
    get textInput(): string[] | undefined;
}
export interface DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages {
    /**
    * The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#channel DialogflowCxFlow#channel}
    */
    readonly channel?: string;
    /**
    * A custom, platform-specific payload.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#payload DialogflowCxFlow#payload}
    */
    readonly payload?: string;
    /**
    * conversation_success block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#conversation_success DialogflowCxFlow#conversation_success}
    */
    readonly conversationSuccess?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccess;
    /**
    * live_agent_handoff block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#live_agent_handoff DialogflowCxFlow#live_agent_handoff}
    */
    readonly liveAgentHandoff?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoff;
    /**
    * output_audio_text block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#output_audio_text DialogflowCxFlow#output_audio_text}
    */
    readonly outputAudioText?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioText;
    /**
    * play_audio block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#play_audio DialogflowCxFlow#play_audio}
    */
    readonly playAudio?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudio;
    /**
    * telephony_transfer_call block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#telephony_transfer_call DialogflowCxFlow#telephony_transfer_call}
    */
    readonly telephonyTransferCall?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCall;
    /**
    * text block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#text DialogflowCxFlow#text}
    */
    readonly text?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText;
}
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesToTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages | cdktf.IResolvable): any;
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesToHclTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages | cdktf.IResolvable): any;
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputReference 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(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages | cdktf.IResolvable | undefined);
    private _channel?;
    get channel(): string;
    set channel(value: string);
    resetChannel(): void;
    get channelInput(): string | undefined;
    private _payload?;
    get payload(): string;
    set payload(value: string);
    resetPayload(): void;
    get payloadInput(): string | undefined;
    private _conversationSuccess;
    get conversationSuccess(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccessOutputReference;
    putConversationSuccess(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccess): void;
    resetConversationSuccess(): void;
    get conversationSuccessInput(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesConversationSuccess | undefined;
    private _liveAgentHandoff;
    get liveAgentHandoff(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoffOutputReference;
    putLiveAgentHandoff(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoff): void;
    resetLiveAgentHandoff(): void;
    get liveAgentHandoffInput(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesLiveAgentHandoff | undefined;
    private _outputAudioText;
    get outputAudioText(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioTextOutputReference;
    putOutputAudioText(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioText): void;
    resetOutputAudioText(): void;
    get outputAudioTextInput(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputAudioText | undefined;
    private _playAudio;
    get playAudio(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudioOutputReference;
    putPlayAudio(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudio): void;
    resetPlayAudio(): void;
    get playAudioInput(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesPlayAudio | undefined;
    private _telephonyTransferCall;
    get telephonyTransferCall(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCallOutputReference;
    putTelephonyTransferCall(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCall): void;
    resetTelephonyTransferCall(): void;
    get telephonyTransferCallInput(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTelephonyTransferCall | undefined;
    private _text;
    get text(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesTextOutputReference;
    putText(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText): void;
    resetText(): void;
    get textInput(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesText | undefined;
}
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages[] | 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): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesOutputReference;
}
export interface DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActions {
    /**
    * Display name of the parameter.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#parameter DialogflowCxFlow#parameter}
    */
    readonly parameter?: string;
    /**
    * The new JSON-encoded value of the parameter. A null value clears the parameter.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#value DialogflowCxFlow#value}
    */
    readonly value?: string;
}
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActionsToTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActions | cdktf.IResolvable): any;
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActionsToHclTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActions | cdktf.IResolvable): any;
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActionsOutputReference 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(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActions | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActions | cdktf.IResolvable | undefined);
    private _parameter?;
    get parameter(): string;
    set parameter(value: string);
    resetParameter(): void;
    get parameterInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    resetValue(): void;
    get valueInput(): string | undefined;
}
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActionsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActions[] | 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): DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActionsOutputReference;
}
export interface DialogflowCxFlowTransitionRoutesTriggerFulfillment {
    /**
    * Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#return_partial_responses DialogflowCxFlow#return_partial_responses}
    */
    readonly returnPartialResponses?: boolean | cdktf.IResolvable;
    /**
    * The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#tag DialogflowCxFlow#tag}
    */
    readonly tag?: string;
    /**
    * The webhook to call. Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/webhooks/<Webhook ID>.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#webhook DialogflowCxFlow#webhook}
    */
    readonly webhook?: string;
    /**
    * conditional_cases block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#conditional_cases DialogflowCxFlow#conditional_cases}
    */
    readonly conditionalCases?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCases[] | cdktf.IResolvable;
    /**
    * messages block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#messages DialogflowCxFlow#messages}
    */
    readonly messages?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages[] | cdktf.IResolvable;
    /**
    * set_parameter_actions block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#set_parameter_actions DialogflowCxFlow#set_parameter_actions}
    */
    readonly setParameterActions?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActions[] | cdktf.IResolvable;
}
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentToTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillment): any;
export declare function dialogflowCxFlowTransitionRoutesTriggerFulfillmentToHclTerraform(struct?: DialogflowCxFlowTransitionRoutesTriggerFulfillmentOutputReference | DialogflowCxFlowTransitionRoutesTriggerFulfillment): any;
export declare class DialogflowCxFlowTransitionRoutesTriggerFulfillmentOutputReference 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(): DialogflowCxFlowTransitionRoutesTriggerFulfillment | undefined;
    set internalValue(value: DialogflowCxFlowTransitionRoutesTriggerFulfillment | undefined);
    private _returnPartialResponses?;
    get returnPartialResponses(): boolean | cdktf.IResolvable;
    set returnPartialResponses(value: boolean | cdktf.IResolvable);
    resetReturnPartialResponses(): void;
    get returnPartialResponsesInput(): boolean | cdktf.IResolvable | undefined;
    private _tag?;
    get tag(): string;
    set tag(value: string);
    resetTag(): void;
    get tagInput(): string | undefined;
    private _webhook?;
    get webhook(): string;
    set webhook(value: string);
    resetWebhook(): void;
    get webhookInput(): string | undefined;
    private _conditionalCases;
    get conditionalCases(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCasesList;
    putConditionalCases(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCases[] | cdktf.IResolvable): void;
    resetConditionalCases(): void;
    get conditionalCasesInput(): cdktf.IResolvable | DialogflowCxFlowTransitionRoutesTriggerFulfillmentConditionalCases[] | undefined;
    private _messages;
    get messages(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessagesList;
    putMessages(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages[] | cdktf.IResolvable): void;
    resetMessages(): void;
    get messagesInput(): cdktf.IResolvable | DialogflowCxFlowTransitionRoutesTriggerFulfillmentMessages[] | undefined;
    private _setParameterActions;
    get setParameterActions(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActionsList;
    putSetParameterActions(value: DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActions[] | cdktf.IResolvable): void;
    resetSetParameterActions(): void;
    get setParameterActionsInput(): cdktf.IResolvable | DialogflowCxFlowTransitionRoutesTriggerFulfillmentSetParameterActions[] | undefined;
}
export interface DialogflowCxFlowTransitionRoutes {
    /**
    * The condition to evaluate against form parameters or session parameters.
    * At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#condition DialogflowCxFlow#condition}
    */
    readonly condition?: string;
    /**
    * The unique identifier of an Intent.
    * Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/intents/<Intent ID>. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#intent DialogflowCxFlow#intent}
    */
    readonly intent?: string;
    /**
    * The target flow to transition to.
    * Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#target_flow DialogflowCxFlow#target_flow}
    */
    readonly targetFlow?: string;
    /**
    * The target page to transition to.
    * Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/flows/<Flow ID>/pages/<Page ID>.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#target_page DialogflowCxFlow#target_page}
    */
    readonly targetPage?: string;
    /**
    * trigger_fulfillment block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#trigger_fulfillment DialogflowCxFlow#trigger_fulfillment}
    */
    readonly triggerFulfillment?: DialogflowCxFlowTransitionRoutesTriggerFulfillment;
}
export declare function dialogflowCxFlowTransitionRoutesToTerraform(struct?: DialogflowCxFlowTransitionRoutes | cdktf.IResolvable): any;
export declare function dialogflowCxFlowTransitionRoutesToHclTerraform(struct?: DialogflowCxFlowTransitionRoutes | cdktf.IResolvable): any;
export declare class DialogflowCxFlowTransitionRoutesOutputReference 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(): DialogflowCxFlowTransitionRoutes | cdktf.IResolvable | undefined;
    set internalValue(value: DialogflowCxFlowTransitionRoutes | cdktf.IResolvable | undefined);
    private _condition?;
    get condition(): string;
    set condition(value: string);
    resetCondition(): void;
    get conditionInput(): string | undefined;
    private _intent?;
    get intent(): string;
    set intent(value: string);
    resetIntent(): void;
    get intentInput(): string | undefined;
    get name(): string;
    private _targetFlow?;
    get targetFlow(): string;
    set targetFlow(value: string);
    resetTargetFlow(): void;
    get targetFlowInput(): string | undefined;
    private _targetPage?;
    get targetPage(): string;
    set targetPage(value: string);
    resetTargetPage(): void;
    get targetPageInput(): string | undefined;
    private _triggerFulfillment;
    get triggerFulfillment(): DialogflowCxFlowTransitionRoutesTriggerFulfillmentOutputReference;
    putTriggerFulfillment(value: DialogflowCxFlowTransitionRoutesTriggerFulfillment): void;
    resetTriggerFulfillment(): void;
    get triggerFulfillmentInput(): DialogflowCxFlowTransitionRoutesTriggerFulfillment | undefined;
}
export declare class DialogflowCxFlowTransitionRoutesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DialogflowCxFlowTransitionRoutes[] | 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): DialogflowCxFlowTransitionRoutesOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow google_dialogflow_cx_flow}
*/
export declare class DialogflowCxFlow extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_dialogflow_cx_flow";
    /**
    * Generates CDKTF code for importing a DialogflowCxFlow 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 DialogflowCxFlow to import
    * @param importFromId The id of the existing DialogflowCxFlow that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/5.23.0/docs/resources/dialogflow_cx_flow#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DialogflowCxFlow 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/5.23.0/docs/resources/dialogflow_cx_flow google_dialogflow_cx_flow} 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 DialogflowCxFlowConfig
    */
    constructor(scope: Construct, id: string, config: DialogflowCxFlowConfig);
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    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 _isDefaultStartFlow?;
    get isDefaultStartFlow(): boolean | cdktf.IResolvable;
    set isDefaultStartFlow(value: boolean | cdktf.IResolvable);
    resetIsDefaultStartFlow(): void;
    get isDefaultStartFlowInput(): boolean | cdktf.IResolvable | undefined;
    private _languageCode?;
    get languageCode(): string;
    set languageCode(value: string);
    resetLanguageCode(): void;
    get languageCodeInput(): string | undefined;
    get name(): string;
    private _parent?;
    get parent(): string;
    set parent(value: string);
    resetParent(): void;
    get parentInput(): string | undefined;
    private _transitionRouteGroups?;
    get transitionRouteGroups(): string[];
    set transitionRouteGroups(value: string[]);
    resetTransitionRouteGroups(): void;
    get transitionRouteGroupsInput(): string[] | undefined;
    private _advancedSettings;
    get advancedSettings(): DialogflowCxFlowAdvancedSettingsOutputReference;
    putAdvancedSettings(value: DialogflowCxFlowAdvancedSettings): void;
    resetAdvancedSettings(): void;
    get advancedSettingsInput(): DialogflowCxFlowAdvancedSettings | undefined;
    private _eventHandlers;
    get eventHandlers(): DialogflowCxFlowEventHandlersList;
    putEventHandlers(value: DialogflowCxFlowEventHandlers[] | cdktf.IResolvable): void;
    resetEventHandlers(): void;
    get eventHandlersInput(): cdktf.IResolvable | DialogflowCxFlowEventHandlers[] | undefined;
    private _nluSettings;
    get nluSettings(): DialogflowCxFlowNluSettingsOutputReference;
    putNluSettings(value: DialogflowCxFlowNluSettings): void;
    resetNluSettings(): void;
    get nluSettingsInput(): DialogflowCxFlowNluSettings | undefined;
    private _timeouts;
    get timeouts(): DialogflowCxFlowTimeoutsOutputReference;
    putTimeouts(value: DialogflowCxFlowTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DialogflowCxFlowTimeouts | undefined;
    private _transitionRoutes;
    get transitionRoutes(): DialogflowCxFlowTransitionRoutesList;
    putTransitionRoutes(value: DialogflowCxFlowTransitionRoutes[] | cdktf.IResolvable): void;
    resetTransitionRoutes(): void;
    get transitionRoutesInput(): cdktf.IResolvable | DialogflowCxFlowTransitionRoutes[] | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
