/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface BedrockagentFlowConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#customer_encryption_key_arn BedrockagentFlow#customer_encryption_key_arn}
    */
    readonly customerEncryptionKeyArn?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#description BedrockagentFlow#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#execution_role_arn BedrockagentFlow#execution_role_arn}
    */
    readonly executionRoleArn: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#name BedrockagentFlow#name}
    */
    readonly name: string;
    /**
    * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#region BedrockagentFlow#region}
    */
    readonly region?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#tags BedrockagentFlow#tags}
    */
    readonly tags?: {
        [key: string]: string;
    };
    /**
    * definition block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#definition BedrockagentFlow#definition}
    */
    readonly definition?: BedrockagentFlowDefinition[] | cdktf.IResolvable;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#timeouts BedrockagentFlow#timeouts}
    */
    readonly timeouts?: BedrockagentFlowTimeouts;
}
export interface BedrockagentFlowDefinitionConnectionConfigurationConditional {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#condition BedrockagentFlow#condition}
    */
    readonly condition: string;
}
export declare function bedrockagentFlowDefinitionConnectionConfigurationConditionalToTerraform(struct?: BedrockagentFlowDefinitionConnectionConfigurationConditional | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionConnectionConfigurationConditionalToHclTerraform(struct?: BedrockagentFlowDefinitionConnectionConfigurationConditional | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionConnectionConfigurationConditionalOutputReference 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(): BedrockagentFlowDefinitionConnectionConfigurationConditional | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionConnectionConfigurationConditional | cdktf.IResolvable | undefined);
    private _condition?;
    get condition(): string;
    set condition(value: string);
    get conditionInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionConnectionConfigurationConditionalList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionConnectionConfigurationConditional[] | 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): BedrockagentFlowDefinitionConnectionConfigurationConditionalOutputReference;
}
export interface BedrockagentFlowDefinitionConnectionConfigurationData {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#source_output BedrockagentFlow#source_output}
    */
    readonly sourceOutput: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#target_input BedrockagentFlow#target_input}
    */
    readonly targetInput: string;
}
export declare function bedrockagentFlowDefinitionConnectionConfigurationDataToTerraform(struct?: BedrockagentFlowDefinitionConnectionConfigurationData | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionConnectionConfigurationDataToHclTerraform(struct?: BedrockagentFlowDefinitionConnectionConfigurationData | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionConnectionConfigurationDataOutputReference 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(): BedrockagentFlowDefinitionConnectionConfigurationData | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionConnectionConfigurationData | cdktf.IResolvable | undefined);
    private _sourceOutput?;
    get sourceOutput(): string;
    set sourceOutput(value: string);
    get sourceOutputInput(): string | undefined;
    private _targetInput?;
    get targetInput(): string;
    set targetInput(value: string);
    get targetInputInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionConnectionConfigurationDataList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionConnectionConfigurationData[] | 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): BedrockagentFlowDefinitionConnectionConfigurationDataOutputReference;
}
export interface BedrockagentFlowDefinitionConnectionConfiguration {
    /**
    * conditional block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#conditional BedrockagentFlow#conditional}
    */
    readonly conditional?: BedrockagentFlowDefinitionConnectionConfigurationConditional[] | cdktf.IResolvable;
    /**
    * data block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#data BedrockagentFlow#data}
    */
    readonly data?: BedrockagentFlowDefinitionConnectionConfigurationData[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionConnectionConfigurationToTerraform(struct?: BedrockagentFlowDefinitionConnectionConfiguration | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionConnectionConfigurationToHclTerraform(struct?: BedrockagentFlowDefinitionConnectionConfiguration | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionConnectionConfigurationOutputReference 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(): BedrockagentFlowDefinitionConnectionConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionConnectionConfiguration | cdktf.IResolvable | undefined);
    private _conditional;
    get conditional(): BedrockagentFlowDefinitionConnectionConfigurationConditionalList;
    putConditional(value: BedrockagentFlowDefinitionConnectionConfigurationConditional[] | cdktf.IResolvable): void;
    resetConditional(): void;
    get conditionalInput(): cdktf.IResolvable | BedrockagentFlowDefinitionConnectionConfigurationConditional[] | undefined;
    private _data;
    get data(): BedrockagentFlowDefinitionConnectionConfigurationDataList;
    putData(value: BedrockagentFlowDefinitionConnectionConfigurationData[] | cdktf.IResolvable): void;
    resetData(): void;
    get dataInput(): cdktf.IResolvable | BedrockagentFlowDefinitionConnectionConfigurationData[] | undefined;
}
export declare class BedrockagentFlowDefinitionConnectionConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionConnectionConfiguration[] | 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): BedrockagentFlowDefinitionConnectionConfigurationOutputReference;
}
export interface BedrockagentFlowDefinitionConnection {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#name BedrockagentFlow#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#source BedrockagentFlow#source}
    */
    readonly source: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#target BedrockagentFlow#target}
    */
    readonly target: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#type BedrockagentFlow#type}
    */
    readonly type: string;
    /**
    * configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#configuration BedrockagentFlow#configuration}
    */
    readonly configuration?: BedrockagentFlowDefinitionConnectionConfiguration[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionConnectionToTerraform(struct?: BedrockagentFlowDefinitionConnection | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionConnectionToHclTerraform(struct?: BedrockagentFlowDefinitionConnection | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionConnectionOutputReference 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(): BedrockagentFlowDefinitionConnection | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionConnection | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _source?;
    get source(): string;
    set source(value: string);
    get sourceInput(): string | undefined;
    private _target?;
    get target(): string;
    set target(value: string);
    get targetInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
    private _configuration;
    get configuration(): BedrockagentFlowDefinitionConnectionConfigurationList;
    putConfiguration(value: BedrockagentFlowDefinitionConnectionConfiguration[] | cdktf.IResolvable): void;
    resetConfiguration(): void;
    get configurationInput(): cdktf.IResolvable | BedrockagentFlowDefinitionConnectionConfiguration[] | undefined;
}
export declare class BedrockagentFlowDefinitionConnectionList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionConnection[] | 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): BedrockagentFlowDefinitionConnectionOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationAgent {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#agent_alias_arn BedrockagentFlow#agent_alias_arn}
    */
    readonly agentAliasArn: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationAgentToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationAgent | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationAgentToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationAgent | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationAgentOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationAgent | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationAgent | cdktf.IResolvable | undefined);
    private _agentAliasArn?;
    get agentAliasArn(): string;
    set agentAliasArn(value: string);
    get agentAliasArnInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationAgentList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationAgent[] | 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): BedrockagentFlowDefinitionNodeConfigurationAgentOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationCollector {
}
export declare function bedrockagentFlowDefinitionNodeConfigurationCollectorToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationCollector | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationCollectorToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationCollector | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationCollectorOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationCollector | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationCollector | cdktf.IResolvable | undefined);
}
export declare class BedrockagentFlowDefinitionNodeConfigurationCollectorList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationCollector[] | 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): BedrockagentFlowDefinitionNodeConfigurationCollectorOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationConditionCondition {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#expression BedrockagentFlow#expression}
    */
    readonly expression?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#name BedrockagentFlow#name}
    */
    readonly name: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationConditionConditionToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationConditionCondition | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationConditionConditionToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationConditionCondition | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationConditionConditionOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationConditionCondition | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationConditionCondition | cdktf.IResolvable | undefined);
    private _expression?;
    get expression(): string;
    set expression(value: string);
    resetExpression(): void;
    get expressionInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationConditionConditionList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationConditionCondition[] | 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): BedrockagentFlowDefinitionNodeConfigurationConditionConditionOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationCondition {
    /**
    * condition block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#condition BedrockagentFlow#condition}
    */
    readonly condition?: BedrockagentFlowDefinitionNodeConfigurationConditionCondition[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationConditionToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationCondition | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationConditionToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationCondition | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationConditionOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationCondition | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationCondition | cdktf.IResolvable | undefined);
    private _condition;
    get condition(): BedrockagentFlowDefinitionNodeConfigurationConditionConditionList;
    putCondition(value: BedrockagentFlowDefinitionNodeConfigurationConditionCondition[] | cdktf.IResolvable): void;
    resetCondition(): void;
    get conditionInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationConditionCondition[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationConditionList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationCondition[] | 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): BedrockagentFlowDefinitionNodeConfigurationConditionOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationInlineCode {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#code BedrockagentFlow#code}
    */
    readonly code: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#language BedrockagentFlow#language}
    */
    readonly language: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationInlineCodeToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationInlineCode | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationInlineCodeToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationInlineCode | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationInlineCodeOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationInlineCode | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationInlineCode | cdktf.IResolvable | undefined);
    private _code?;
    get code(): string;
    set code(value: string);
    get codeInput(): string | undefined;
    private _language?;
    get language(): string;
    set language(value: string);
    get languageInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationInlineCodeList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationInlineCode[] | 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): BedrockagentFlowDefinitionNodeConfigurationInlineCodeOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationInput {
}
export declare function bedrockagentFlowDefinitionNodeConfigurationInputToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationInput | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationInputToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationInput | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationInputOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationInput | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationInput | cdktf.IResolvable | undefined);
}
export declare class BedrockagentFlowDefinitionNodeConfigurationInputList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationInput[] | 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): BedrockagentFlowDefinitionNodeConfigurationInputOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationIterator {
}
export declare function bedrockagentFlowDefinitionNodeConfigurationIteratorToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationIterator | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationIteratorToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationIterator | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationIteratorOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationIterator | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationIterator | cdktf.IResolvable | undefined);
}
export declare class BedrockagentFlowDefinitionNodeConfigurationIteratorList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationIterator[] | 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): BedrockagentFlowDefinitionNodeConfigurationIteratorOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#guardrail_identifier BedrockagentFlow#guardrail_identifier}
    */
    readonly guardrailIdentifier: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#guardrail_version BedrockagentFlow#guardrail_version}
    */
    readonly guardrailVersion: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfigurationToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfiguration | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfigurationToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfiguration | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfigurationOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfiguration | cdktf.IResolvable | undefined);
    private _guardrailIdentifier?;
    get guardrailIdentifier(): string;
    set guardrailIdentifier(value: string);
    get guardrailIdentifierInput(): string | undefined;
    private _guardrailVersion?;
    get guardrailVersion(): string;
    set guardrailVersion(value: string);
    get guardrailVersionInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfiguration[] | 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): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfigurationOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationText {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#max_tokens BedrockagentFlow#max_tokens}
    */
    readonly maxTokens?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#stop_sequences BedrockagentFlow#stop_sequences}
    */
    readonly stopSequences?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#temperature BedrockagentFlow#temperature}
    */
    readonly temperature?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#top_p BedrockagentFlow#top_p}
    */
    readonly topP?: number;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationTextToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationText | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationTextToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationText | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationTextOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationText | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationText | cdktf.IResolvable | undefined);
    private _maxTokens?;
    get maxTokens(): number;
    set maxTokens(value: number);
    resetMaxTokens(): void;
    get maxTokensInput(): number | undefined;
    private _stopSequences?;
    get stopSequences(): string[];
    set stopSequences(value: string[]);
    resetStopSequences(): void;
    get stopSequencesInput(): string[] | undefined;
    private _temperature?;
    get temperature(): number;
    set temperature(value: number);
    resetTemperature(): void;
    get temperatureInput(): number | undefined;
    private _topP?;
    get topP(): number;
    set topP(value: number);
    resetTopP(): void;
    get topPInput(): number | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationTextList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationText[] | 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): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationTextOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfiguration {
    /**
    * text block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#text BedrockagentFlow#text}
    */
    readonly text?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationText[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfiguration | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfiguration | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfiguration | cdktf.IResolvable | undefined);
    private _text;
    get text(): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationTextList;
    putText(value: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationText[] | cdktf.IResolvable): void;
    resetText(): void;
    get textInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationText[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfiguration[] | 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): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationKnowledgeBase {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#knowledge_base_id BedrockagentFlow#knowledge_base_id}
    */
    readonly knowledgeBaseId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#model_id BedrockagentFlow#model_id}
    */
    readonly modelId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#number_of_results BedrockagentFlow#number_of_results}
    */
    readonly numberOfResults?: number;
    /**
    * guardrail_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#guardrail_configuration BedrockagentFlow#guardrail_configuration}
    */
    readonly guardrailConfiguration?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfiguration[] | cdktf.IResolvable;
    /**
    * inference_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#inference_configuration BedrockagentFlow#inference_configuration}
    */
    readonly inferenceConfiguration?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfiguration[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBase | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBase | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBase | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBase | cdktf.IResolvable | undefined);
    private _knowledgeBaseId?;
    get knowledgeBaseId(): string;
    set knowledgeBaseId(value: string);
    get knowledgeBaseIdInput(): string | undefined;
    private _modelId?;
    get modelId(): string;
    set modelId(value: string);
    get modelIdInput(): string | undefined;
    private _numberOfResults?;
    get numberOfResults(): number;
    set numberOfResults(value: number);
    resetNumberOfResults(): void;
    get numberOfResultsInput(): number | undefined;
    private _guardrailConfiguration;
    get guardrailConfiguration(): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfigurationList;
    putGuardrailConfiguration(value: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfiguration[] | cdktf.IResolvable): void;
    resetGuardrailConfiguration(): void;
    get guardrailConfigurationInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseGuardrailConfiguration[] | undefined;
    private _inferenceConfiguration;
    get inferenceConfiguration(): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfigurationList;
    putInferenceConfiguration(value: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfiguration[] | cdktf.IResolvable): void;
    resetInferenceConfiguration(): void;
    get inferenceConfigurationInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseInferenceConfiguration[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBase[] | 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): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationLambdaFunction {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#lambda_arn BedrockagentFlow#lambda_arn}
    */
    readonly lambdaArn: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationLambdaFunctionToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationLambdaFunction | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationLambdaFunctionToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationLambdaFunction | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationLambdaFunctionOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationLambdaFunction | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationLambdaFunction | cdktf.IResolvable | undefined);
    private _lambdaArn?;
    get lambdaArn(): string;
    set lambdaArn(value: string);
    get lambdaArnInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationLambdaFunctionList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationLambdaFunction[] | 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): BedrockagentFlowDefinitionNodeConfigurationLambdaFunctionOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationLex {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#bot_alias_arn BedrockagentFlow#bot_alias_arn}
    */
    readonly botAliasArn: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#locale_id BedrockagentFlow#locale_id}
    */
    readonly localeId: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationLexToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationLex | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationLexToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationLex | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationLexOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationLex | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationLex | cdktf.IResolvable | undefined);
    private _botAliasArn?;
    get botAliasArn(): string;
    set botAliasArn(value: string);
    get botAliasArnInput(): string | undefined;
    private _localeId?;
    get localeId(): string;
    set localeId(value: string);
    get localeIdInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationLexList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationLex[] | 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): BedrockagentFlowDefinitionNodeConfigurationLexOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationOutput {
}
export declare function bedrockagentFlowDefinitionNodeConfigurationOutputToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationOutput | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationOutputToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationOutput | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationOutputOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationOutput | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationOutput | cdktf.IResolvable | undefined);
}
export declare class BedrockagentFlowDefinitionNodeConfigurationOutputList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationOutput[] | 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): BedrockagentFlowDefinitionNodeConfigurationOutputOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#guardrail_identifier BedrockagentFlow#guardrail_identifier}
    */
    readonly guardrailIdentifier: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#guardrail_version BedrockagentFlow#guardrail_version}
    */
    readonly guardrailVersion: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfigurationToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfiguration | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfigurationToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfiguration | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfigurationOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfiguration | cdktf.IResolvable | undefined);
    private _guardrailIdentifier?;
    get guardrailIdentifier(): string;
    set guardrailIdentifier(value: string);
    get guardrailIdentifierInput(): string | undefined;
    private _guardrailVersion?;
    get guardrailVersion(): string;
    set guardrailVersion(value: string);
    get guardrailVersionInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfiguration[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfigurationOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationText {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#max_tokens BedrockagentFlow#max_tokens}
    */
    readonly maxTokens?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#stop_sequences BedrockagentFlow#stop_sequences}
    */
    readonly stopSequences?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#temperature BedrockagentFlow#temperature}
    */
    readonly temperature?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#top_p BedrockagentFlow#top_p}
    */
    readonly topP?: number;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationTextToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationText | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationTextToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationText | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationTextOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationText | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationText | cdktf.IResolvable | undefined);
    private _maxTokens?;
    get maxTokens(): number;
    set maxTokens(value: number);
    resetMaxTokens(): void;
    get maxTokensInput(): number | undefined;
    private _stopSequences?;
    get stopSequences(): string[];
    set stopSequences(value: string[]);
    resetStopSequences(): void;
    get stopSequencesInput(): string[] | undefined;
    private _temperature?;
    get temperature(): number;
    set temperature(value: number);
    resetTemperature(): void;
    get temperatureInput(): number | undefined;
    private _topP?;
    get topP(): number;
    set topP(value: number);
    resetTopP(): void;
    get topPInput(): number | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationTextList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationText[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationTextOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfiguration {
    /**
    * text block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#text BedrockagentFlow#text}
    */
    readonly text?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationText[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfiguration | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfiguration | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfiguration | cdktf.IResolvable | undefined);
    private _text;
    get text(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationTextList;
    putText(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationText[] | cdktf.IResolvable): void;
    resetText(): void;
    get textInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationText[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfiguration[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariable {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#name BedrockagentFlow#name}
    */
    readonly name: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariableToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariable | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariableToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariable | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariableOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariable | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariable | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariableList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariable[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariableOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePoint {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#type BedrockagentFlow#type}
    */
    readonly type: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePointToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePoint | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePointToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePoint | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePointOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePoint | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePoint | cdktf.IResolvable | undefined);
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePointList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePoint[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePointOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContent {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#text BedrockagentFlow#text}
    */
    readonly text?: string;
    /**
    * cache_point block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#cache_point BedrockagentFlow#cache_point}
    */
    readonly cachePoint?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePoint[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContent | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContent | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContent | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContent | cdktf.IResolvable | undefined);
    private _text?;
    get text(): string;
    set text(value: string);
    resetText(): void;
    get textInput(): string | undefined;
    private _cachePoint;
    get cachePoint(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePointList;
    putCachePoint(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePoint[] | cdktf.IResolvable): void;
    resetCachePoint(): void;
    get cachePointInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentCachePoint[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContent[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessage {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#role BedrockagentFlow#role}
    */
    readonly role: string;
    /**
    * content block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#content BedrockagentFlow#content}
    */
    readonly content?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContent[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessage | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessage | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessage | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessage | cdktf.IResolvable | undefined);
    private _role?;
    get role(): string;
    set role(value: string);
    get roleInput(): string | undefined;
    private _content;
    get content(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContentList;
    putContent(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContent[] | cdktf.IResolvable): void;
    resetContent(): void;
    get contentInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageContent[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessage[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePoint {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#type BedrockagentFlow#type}
    */
    readonly type: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePointToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePoint | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePointToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePoint | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePointOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePoint | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePoint | cdktf.IResolvable | undefined);
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePointList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePoint[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePointOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystem {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#text BedrockagentFlow#text}
    */
    readonly text?: string;
    /**
    * cache_point block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#cache_point BedrockagentFlow#cache_point}
    */
    readonly cachePoint?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePoint[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystem | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystem | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystem | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystem | cdktf.IResolvable | undefined);
    private _text?;
    get text(): string;
    set text(value: string);
    resetText(): void;
    get textInput(): string | undefined;
    private _cachePoint;
    get cachePoint(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePointList;
    putCachePoint(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePoint[] | cdktf.IResolvable): void;
    resetCachePoint(): void;
    get cachePointInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemCachePoint[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystem[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePoint {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#type BedrockagentFlow#type}
    */
    readonly type: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePointToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePoint | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePointToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePoint | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePointOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePoint | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePoint | cdktf.IResolvable | undefined);
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePointList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePoint[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePointOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchema {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#json BedrockagentFlow#json}
    */
    readonly json?: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchemaToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchema | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchemaToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchema | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchemaOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchema | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchema | cdktf.IResolvable | undefined);
    private _json?;
    get json(): string;
    set json(value: string);
    resetJson(): void;
    get jsonInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchemaList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchema[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchemaOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpec {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#description BedrockagentFlow#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#name BedrockagentFlow#name}
    */
    readonly name: string;
    /**
    * input_schema block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#input_schema BedrockagentFlow#input_schema}
    */
    readonly inputSchema?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchema[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpec | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpec | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpec | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpec | cdktf.IResolvable | undefined);
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _inputSchema;
    get inputSchema(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchemaList;
    putInputSchema(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchema[] | cdktf.IResolvable): void;
    resetInputSchema(): void;
    get inputSchemaInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecInputSchema[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpec[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationTool {
    /**
    * cache_point block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#cache_point BedrockagentFlow#cache_point}
    */
    readonly cachePoint?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePoint[] | cdktf.IResolvable;
    /**
    * tool_spec block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#tool_spec BedrockagentFlow#tool_spec}
    */
    readonly toolSpec?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpec[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationTool | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationTool | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationTool | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationTool | cdktf.IResolvable | undefined);
    private _cachePoint;
    get cachePoint(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePointList;
    putCachePoint(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePoint[] | cdktf.IResolvable): void;
    resetCachePoint(): void;
    get cachePointInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolCachePoint[] | undefined;
    private _toolSpec;
    get toolSpec(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpecList;
    putToolSpec(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpec[] | cdktf.IResolvable): void;
    resetToolSpec(): void;
    get toolSpecInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolToolSpec[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationTool[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAny {
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAnyToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAny | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAnyToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAny | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAnyOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAny | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAny | cdktf.IResolvable | undefined);
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAnyList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAny[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAnyOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAuto {
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAutoToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAuto | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAutoToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAuto | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAutoOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAuto | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAuto | cdktf.IResolvable | undefined);
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAutoList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAuto[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAutoOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceTool {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#name BedrockagentFlow#name}
    */
    readonly name: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceToolToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceTool | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceToolToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceTool | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceToolOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceTool | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceTool | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceToolList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceTool[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceToolOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoice {
    /**
    * any block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#any BedrockagentFlow#any}
    */
    readonly any?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAny[] | cdktf.IResolvable;
    /**
    * auto block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#auto BedrockagentFlow#auto}
    */
    readonly auto?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAuto[] | cdktf.IResolvable;
    /**
    * tool block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#tool BedrockagentFlow#tool}
    */
    readonly tool?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceTool[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoice | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoice | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoice | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoice | cdktf.IResolvable | undefined);
    private _any;
    get any(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAnyList;
    putAny(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAny[] | cdktf.IResolvable): void;
    resetAny(): void;
    get anyInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAny[] | undefined;
    private _auto;
    get auto(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAutoList;
    putAuto(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAuto[] | cdktf.IResolvable): void;
    resetAuto(): void;
    get autoInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceAuto[] | undefined;
    private _tool;
    get tool(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceToolList;
    putTool(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceTool[] | cdktf.IResolvable): void;
    resetTool(): void;
    get toolInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceTool[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoice[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfiguration {
    /**
    * tool block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#tool BedrockagentFlow#tool}
    */
    readonly tool?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationTool[] | cdktf.IResolvable;
    /**
    * tool_choice block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#tool_choice BedrockagentFlow#tool_choice}
    */
    readonly toolChoice?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoice[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfiguration | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfiguration | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfiguration | cdktf.IResolvable | undefined);
    private _tool;
    get tool(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolList;
    putTool(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationTool[] | cdktf.IResolvable): void;
    resetTool(): void;
    get toolInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationTool[] | undefined;
    private _toolChoice;
    get toolChoice(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoiceList;
    putToolChoice(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoice[] | cdktf.IResolvable): void;
    resetToolChoice(): void;
    get toolChoiceInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationToolChoice[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfiguration[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChat {
    /**
    * input_variable block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#input_variable BedrockagentFlow#input_variable}
    */
    readonly inputVariable?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariable[] | cdktf.IResolvable;
    /**
    * message block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#message BedrockagentFlow#message}
    */
    readonly message?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessage[] | cdktf.IResolvable;
    /**
    * system block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#system BedrockagentFlow#system}
    */
    readonly systemAttribute?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystem[] | cdktf.IResolvable;
    /**
    * tool_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#tool_configuration BedrockagentFlow#tool_configuration}
    */
    readonly toolConfiguration?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfiguration[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChat | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChat | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChat | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChat | cdktf.IResolvable | undefined);
    private _inputVariable;
    get inputVariable(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariableList;
    putInputVariable(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariable[] | cdktf.IResolvable): void;
    resetInputVariable(): void;
    get inputVariableInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatInputVariable[] | undefined;
    private _message;
    get message(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessageList;
    putMessage(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessage[] | cdktf.IResolvable): void;
    resetMessage(): void;
    get messageInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatMessage[] | undefined;
    private _system;
    get systemAttribute(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystemList;
    putSystemAttribute(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystem[] | cdktf.IResolvable): void;
    resetSystemAttribute(): void;
    get systemAttributeInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatSystem[] | undefined;
    private _toolConfiguration;
    get toolConfiguration(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfigurationList;
    putToolConfiguration(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfiguration[] | cdktf.IResolvable): void;
    resetToolConfiguration(): void;
    get toolConfigurationInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatToolConfiguration[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChat[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePoint {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#type BedrockagentFlow#type}
    */
    readonly type: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePointToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePoint | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePointToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePoint | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePointOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePoint | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePoint | cdktf.IResolvable | undefined);
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePointList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePoint[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePointOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariable {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#name BedrockagentFlow#name}
    */
    readonly name: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariableToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariable | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariableToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariable | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariableOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariable | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariable | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariableList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariable[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariableOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationText {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#text BedrockagentFlow#text}
    */
    readonly text: string;
    /**
    * cache_point block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#cache_point BedrockagentFlow#cache_point}
    */
    readonly cachePoint?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePoint[] | cdktf.IResolvable;
    /**
    * input_variable block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#input_variable BedrockagentFlow#input_variable}
    */
    readonly inputVariable?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariable[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationText | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationText | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationText | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationText | cdktf.IResolvable | undefined);
    private _text?;
    get text(): string;
    set text(value: string);
    get textInput(): string | undefined;
    private _cachePoint;
    get cachePoint(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePointList;
    putCachePoint(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePoint[] | cdktf.IResolvable): void;
    resetCachePoint(): void;
    get cachePointInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextCachePoint[] | undefined;
    private _inputVariable;
    get inputVariable(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariableList;
    putInputVariable(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariable[] | cdktf.IResolvable): void;
    resetInputVariable(): void;
    get inputVariableInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextInputVariable[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationText[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfiguration {
    /**
    * chat block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#chat BedrockagentFlow#chat}
    */
    readonly chat?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChat[] | cdktf.IResolvable;
    /**
    * text block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#text BedrockagentFlow#text}
    */
    readonly text?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationText[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfiguration | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfiguration | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfiguration | cdktf.IResolvable | undefined);
    private _chat;
    get chat(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChatList;
    putChat(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChat[] | cdktf.IResolvable): void;
    resetChat(): void;
    get chatInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationChat[] | undefined;
    private _text;
    get text(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationTextList;
    putText(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationText[] | cdktf.IResolvable): void;
    resetText(): void;
    get textInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationText[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfiguration[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInline {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#additional_model_request_fields BedrockagentFlow#additional_model_request_fields}
    */
    readonly additionalModelRequestFields?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#model_id BedrockagentFlow#model_id}
    */
    readonly modelId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#template_type BedrockagentFlow#template_type}
    */
    readonly templateType: string;
    /**
    * inference_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#inference_configuration BedrockagentFlow#inference_configuration}
    */
    readonly inferenceConfiguration?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfiguration[] | cdktf.IResolvable;
    /**
    * template_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#template_configuration BedrockagentFlow#template_configuration}
    */
    readonly templateConfiguration?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfiguration[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInline | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInline | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInline | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInline | cdktf.IResolvable | undefined);
    private _additionalModelRequestFields?;
    get additionalModelRequestFields(): string;
    set additionalModelRequestFields(value: string);
    resetAdditionalModelRequestFields(): void;
    get additionalModelRequestFieldsInput(): string | undefined;
    private _modelId?;
    get modelId(): string;
    set modelId(value: string);
    get modelIdInput(): string | undefined;
    private _templateType?;
    get templateType(): string;
    set templateType(value: string);
    get templateTypeInput(): string | undefined;
    private _inferenceConfiguration;
    get inferenceConfiguration(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfigurationList;
    putInferenceConfiguration(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfiguration[] | cdktf.IResolvable): void;
    resetInferenceConfiguration(): void;
    get inferenceConfigurationInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineInferenceConfiguration[] | undefined;
    private _templateConfiguration;
    get templateConfiguration(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfigurationList;
    putTemplateConfiguration(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfiguration[] | cdktf.IResolvable): void;
    resetTemplateConfiguration(): void;
    get templateConfigurationInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineTemplateConfiguration[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInline[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResource {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#prompt_arn BedrockagentFlow#prompt_arn}
    */
    readonly promptArn: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResourceToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResource | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResourceToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResource | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResourceOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResource | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResource | cdktf.IResolvable | undefined);
    private _promptArn?;
    get promptArn(): string;
    set promptArn(value: string);
    get promptArnInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResourceList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResource[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResourceOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfiguration {
    /**
    * inline block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#inline BedrockagentFlow#inline}
    */
    readonly inline?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInline[] | cdktf.IResolvable;
    /**
    * resource block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#resource BedrockagentFlow#resource}
    */
    readonly resource?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResource[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfiguration | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfiguration | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfiguration | cdktf.IResolvable | undefined);
    private _inline;
    get inline(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInlineList;
    putInline(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInline[] | cdktf.IResolvable): void;
    resetInline(): void;
    get inlineInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationInline[] | undefined;
    private _resource;
    get resource(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResourceList;
    putResource(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResource[] | cdktf.IResolvable): void;
    resetResource(): void;
    get resourceInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationResource[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfiguration[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationPrompt {
    /**
    * guardrail_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#guardrail_configuration BedrockagentFlow#guardrail_configuration}
    */
    readonly guardrailConfiguration?: BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfiguration[] | cdktf.IResolvable;
    /**
    * source_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#source_configuration BedrockagentFlow#source_configuration}
    */
    readonly sourceConfiguration?: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfiguration[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPrompt | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationPromptToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationPrompt | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationPrompt | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationPrompt | cdktf.IResolvable | undefined);
    private _guardrailConfiguration;
    get guardrailConfiguration(): BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfigurationList;
    putGuardrailConfiguration(value: BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfiguration[] | cdktf.IResolvable): void;
    resetGuardrailConfiguration(): void;
    get guardrailConfigurationInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptGuardrailConfiguration[] | undefined;
    private _sourceConfiguration;
    get sourceConfiguration(): BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfigurationList;
    putSourceConfiguration(value: BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfiguration[] | cdktf.IResolvable): void;
    resetSourceConfiguration(): void;
    get sourceConfigurationInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPromptSourceConfiguration[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationPromptList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationPrompt[] | 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): BedrockagentFlowDefinitionNodeConfigurationPromptOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3 {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#bucket_name BedrockagentFlow#bucket_name}
    */
    readonly bucketName: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3ToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3 | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3ToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3 | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3OutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3 | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3 | cdktf.IResolvable | undefined);
    private _bucketName?;
    get bucketName(): string;
    set bucketName(value: string);
    get bucketNameInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3List extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3[] | 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): BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3OutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfiguration {
    /**
    * s3 block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#s3 BedrockagentFlow#s3}
    */
    readonly s3?: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfiguration | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfiguration | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfiguration | cdktf.IResolvable | undefined);
    private _s3;
    get s3(): BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3List;
    putS3(value: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3[] | cdktf.IResolvable): void;
    resetS3(): void;
    get s3Input(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationS3[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfiguration[] | 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): BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationRetrieval {
    /**
    * service_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#service_configuration BedrockagentFlow#service_configuration}
    */
    readonly serviceConfiguration?: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfiguration[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationRetrievalToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationRetrieval | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationRetrievalToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationRetrieval | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationRetrievalOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationRetrieval | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationRetrieval | cdktf.IResolvable | undefined);
    private _serviceConfiguration;
    get serviceConfiguration(): BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfigurationList;
    putServiceConfiguration(value: BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfiguration[] | cdktf.IResolvable): void;
    resetServiceConfiguration(): void;
    get serviceConfigurationInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationRetrievalServiceConfiguration[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationRetrievalList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationRetrieval[] | 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): BedrockagentFlowDefinitionNodeConfigurationRetrievalOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3 {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#bucket_name BedrockagentFlow#bucket_name}
    */
    readonly bucketName: string;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3ToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3 | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3ToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3 | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3OutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3 | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3 | cdktf.IResolvable | undefined);
    private _bucketName?;
    get bucketName(): string;
    set bucketName(value: string);
    get bucketNameInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3List extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3[] | 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): BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3OutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfiguration {
    /**
    * s3 block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#s3 BedrockagentFlow#s3}
    */
    readonly s3?: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfiguration | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfiguration | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfiguration | cdktf.IResolvable | undefined);
    private _s3;
    get s3(): BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3List;
    putS3(value: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3[] | cdktf.IResolvable): void;
    resetS3(): void;
    get s3Input(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationS3[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfiguration[] | 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): BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfigurationStorage {
    /**
    * service_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#service_configuration BedrockagentFlow#service_configuration}
    */
    readonly serviceConfiguration?: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfiguration[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationStorageToTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationStorage | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationStorageToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfigurationStorage | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationStorageOutputReference 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(): BedrockagentFlowDefinitionNodeConfigurationStorage | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfigurationStorage | cdktf.IResolvable | undefined);
    private _serviceConfiguration;
    get serviceConfiguration(): BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfigurationList;
    putServiceConfiguration(value: BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfiguration[] | cdktf.IResolvable): void;
    resetServiceConfiguration(): void;
    get serviceConfigurationInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationStorageServiceConfiguration[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationStorageList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfigurationStorage[] | 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): BedrockagentFlowDefinitionNodeConfigurationStorageOutputReference;
}
export interface BedrockagentFlowDefinitionNodeConfiguration {
    /**
    * agent block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#agent BedrockagentFlow#agent}
    */
    readonly agent?: BedrockagentFlowDefinitionNodeConfigurationAgent[] | cdktf.IResolvable;
    /**
    * collector block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#collector BedrockagentFlow#collector}
    */
    readonly collector?: BedrockagentFlowDefinitionNodeConfigurationCollector[] | cdktf.IResolvable;
    /**
    * condition block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#condition BedrockagentFlow#condition}
    */
    readonly condition?: BedrockagentFlowDefinitionNodeConfigurationCondition[] | cdktf.IResolvable;
    /**
    * inline_code block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#inline_code BedrockagentFlow#inline_code}
    */
    readonly inlineCode?: BedrockagentFlowDefinitionNodeConfigurationInlineCode[] | cdktf.IResolvable;
    /**
    * input block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#input BedrockagentFlow#input}
    */
    readonly input?: BedrockagentFlowDefinitionNodeConfigurationInput[] | cdktf.IResolvable;
    /**
    * iterator block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#iterator BedrockagentFlow#iterator}
    */
    readonly iterator?: BedrockagentFlowDefinitionNodeConfigurationIterator[] | cdktf.IResolvable;
    /**
    * knowledge_base block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#knowledge_base BedrockagentFlow#knowledge_base}
    */
    readonly knowledgeBase?: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBase[] | cdktf.IResolvable;
    /**
    * lambda_function block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#lambda_function BedrockagentFlow#lambda_function}
    */
    readonly lambdaFunction?: BedrockagentFlowDefinitionNodeConfigurationLambdaFunction[] | cdktf.IResolvable;
    /**
    * lex block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#lex BedrockagentFlow#lex}
    */
    readonly lex?: BedrockagentFlowDefinitionNodeConfigurationLex[] | cdktf.IResolvable;
    /**
    * output block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#output BedrockagentFlow#output}
    */
    readonly output?: BedrockagentFlowDefinitionNodeConfigurationOutput[] | cdktf.IResolvable;
    /**
    * prompt block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#prompt BedrockagentFlow#prompt}
    */
    readonly prompt?: BedrockagentFlowDefinitionNodeConfigurationPrompt[] | cdktf.IResolvable;
    /**
    * retrieval block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#retrieval BedrockagentFlow#retrieval}
    */
    readonly retrieval?: BedrockagentFlowDefinitionNodeConfigurationRetrieval[] | cdktf.IResolvable;
    /**
    * storage block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#storage BedrockagentFlow#storage}
    */
    readonly storage?: BedrockagentFlowDefinitionNodeConfigurationStorage[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeConfigurationToTerraform(struct?: BedrockagentFlowDefinitionNodeConfiguration | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeConfigurationToHclTerraform(struct?: BedrockagentFlowDefinitionNodeConfiguration | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeConfigurationOutputReference 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(): BedrockagentFlowDefinitionNodeConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeConfiguration | cdktf.IResolvable | undefined);
    private _agent;
    get agent(): BedrockagentFlowDefinitionNodeConfigurationAgentList;
    putAgent(value: BedrockagentFlowDefinitionNodeConfigurationAgent[] | cdktf.IResolvable): void;
    resetAgent(): void;
    get agentInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationAgent[] | undefined;
    private _collector;
    get collector(): BedrockagentFlowDefinitionNodeConfigurationCollectorList;
    putCollector(value: BedrockagentFlowDefinitionNodeConfigurationCollector[] | cdktf.IResolvable): void;
    resetCollector(): void;
    get collectorInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationCollector[] | undefined;
    private _condition;
    get condition(): BedrockagentFlowDefinitionNodeConfigurationConditionList;
    putCondition(value: BedrockagentFlowDefinitionNodeConfigurationCondition[] | cdktf.IResolvable): void;
    resetCondition(): void;
    get conditionInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationCondition[] | undefined;
    private _inlineCode;
    get inlineCode(): BedrockagentFlowDefinitionNodeConfigurationInlineCodeList;
    putInlineCode(value: BedrockagentFlowDefinitionNodeConfigurationInlineCode[] | cdktf.IResolvable): void;
    resetInlineCode(): void;
    get inlineCodeInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationInlineCode[] | undefined;
    private _input;
    get input(): BedrockagentFlowDefinitionNodeConfigurationInputList;
    putInput(value: BedrockagentFlowDefinitionNodeConfigurationInput[] | cdktf.IResolvable): void;
    resetInput(): void;
    get inputInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationInput[] | undefined;
    private _iterator;
    get iterator(): BedrockagentFlowDefinitionNodeConfigurationIteratorList;
    putIterator(value: BedrockagentFlowDefinitionNodeConfigurationIterator[] | cdktf.IResolvable): void;
    resetIterator(): void;
    get iteratorInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationIterator[] | undefined;
    private _knowledgeBase;
    get knowledgeBase(): BedrockagentFlowDefinitionNodeConfigurationKnowledgeBaseList;
    putKnowledgeBase(value: BedrockagentFlowDefinitionNodeConfigurationKnowledgeBase[] | cdktf.IResolvable): void;
    resetKnowledgeBase(): void;
    get knowledgeBaseInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationKnowledgeBase[] | undefined;
    private _lambdaFunction;
    get lambdaFunction(): BedrockagentFlowDefinitionNodeConfigurationLambdaFunctionList;
    putLambdaFunction(value: BedrockagentFlowDefinitionNodeConfigurationLambdaFunction[] | cdktf.IResolvable): void;
    resetLambdaFunction(): void;
    get lambdaFunctionInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationLambdaFunction[] | undefined;
    private _lex;
    get lex(): BedrockagentFlowDefinitionNodeConfigurationLexList;
    putLex(value: BedrockagentFlowDefinitionNodeConfigurationLex[] | cdktf.IResolvable): void;
    resetLex(): void;
    get lexInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationLex[] | undefined;
    private _output;
    get output(): BedrockagentFlowDefinitionNodeConfigurationOutputList;
    putOutput(value: BedrockagentFlowDefinitionNodeConfigurationOutput[] | cdktf.IResolvable): void;
    resetOutput(): void;
    get outputInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationOutput[] | undefined;
    private _prompt;
    get prompt(): BedrockagentFlowDefinitionNodeConfigurationPromptList;
    putPrompt(value: BedrockagentFlowDefinitionNodeConfigurationPrompt[] | cdktf.IResolvable): void;
    resetPrompt(): void;
    get promptInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationPrompt[] | undefined;
    private _retrieval;
    get retrieval(): BedrockagentFlowDefinitionNodeConfigurationRetrievalList;
    putRetrieval(value: BedrockagentFlowDefinitionNodeConfigurationRetrieval[] | cdktf.IResolvable): void;
    resetRetrieval(): void;
    get retrievalInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationRetrieval[] | undefined;
    private _storage;
    get storage(): BedrockagentFlowDefinitionNodeConfigurationStorageList;
    putStorage(value: BedrockagentFlowDefinitionNodeConfigurationStorage[] | cdktf.IResolvable): void;
    resetStorage(): void;
    get storageInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfigurationStorage[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeConfiguration[] | 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): BedrockagentFlowDefinitionNodeConfigurationOutputReference;
}
export interface BedrockagentFlowDefinitionNodeInput {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#category BedrockagentFlow#category}
    */
    readonly category?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#expression BedrockagentFlow#expression}
    */
    readonly expression: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#name BedrockagentFlow#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#type BedrockagentFlow#type}
    */
    readonly type: string;
}
export declare function bedrockagentFlowDefinitionNodeInputToTerraform(struct?: BedrockagentFlowDefinitionNodeInput | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeInputToHclTerraform(struct?: BedrockagentFlowDefinitionNodeInput | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeInputOutputReference 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(): BedrockagentFlowDefinitionNodeInput | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeInput | cdktf.IResolvable | undefined);
    private _category?;
    get category(): string;
    set category(value: string);
    resetCategory(): void;
    get categoryInput(): string | undefined;
    private _expression?;
    get expression(): string;
    set expression(value: string);
    get expressionInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeInputList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeInput[] | 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): BedrockagentFlowDefinitionNodeInputOutputReference;
}
export interface BedrockagentFlowDefinitionNodeOutput {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#name BedrockagentFlow#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#type BedrockagentFlow#type}
    */
    readonly type: string;
}
export declare function bedrockagentFlowDefinitionNodeOutputToTerraform(struct?: BedrockagentFlowDefinitionNodeOutput | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeOutputToHclTerraform(struct?: BedrockagentFlowDefinitionNodeOutput | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeOutputOutputReference 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(): BedrockagentFlowDefinitionNodeOutput | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNodeOutput | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
}
export declare class BedrockagentFlowDefinitionNodeOutputList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNodeOutput[] | 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): BedrockagentFlowDefinitionNodeOutputOutputReference;
}
export interface BedrockagentFlowDefinitionNode {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#name BedrockagentFlow#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#type BedrockagentFlow#type}
    */
    readonly type: string;
    /**
    * configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#configuration BedrockagentFlow#configuration}
    */
    readonly configuration?: BedrockagentFlowDefinitionNodeConfiguration[] | cdktf.IResolvable;
    /**
    * input block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#input BedrockagentFlow#input}
    */
    readonly input?: BedrockagentFlowDefinitionNodeInput[] | cdktf.IResolvable;
    /**
    * output block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#output BedrockagentFlow#output}
    */
    readonly output?: BedrockagentFlowDefinitionNodeOutput[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionNodeToTerraform(struct?: BedrockagentFlowDefinitionNode | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionNodeToHclTerraform(struct?: BedrockagentFlowDefinitionNode | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionNodeOutputReference 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(): BedrockagentFlowDefinitionNode | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinitionNode | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
    private _configuration;
    get configuration(): BedrockagentFlowDefinitionNodeConfigurationList;
    putConfiguration(value: BedrockagentFlowDefinitionNodeConfiguration[] | cdktf.IResolvable): void;
    resetConfiguration(): void;
    get configurationInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeConfiguration[] | undefined;
    private _input;
    get input(): BedrockagentFlowDefinitionNodeInputList;
    putInput(value: BedrockagentFlowDefinitionNodeInput[] | cdktf.IResolvable): void;
    resetInput(): void;
    get inputInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeInput[] | undefined;
    private _output;
    get output(): BedrockagentFlowDefinitionNodeOutputList;
    putOutput(value: BedrockagentFlowDefinitionNodeOutput[] | cdktf.IResolvable): void;
    resetOutput(): void;
    get outputInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNodeOutput[] | undefined;
}
export declare class BedrockagentFlowDefinitionNodeList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinitionNode[] | 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): BedrockagentFlowDefinitionNodeOutputReference;
}
export interface BedrockagentFlowDefinition {
    /**
    * connection block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#connection BedrockagentFlow#connection}
    */
    readonly connection?: BedrockagentFlowDefinitionConnection[] | cdktf.IResolvable;
    /**
    * node block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#node BedrockagentFlow#node}
    */
    readonly nodeAttribute?: BedrockagentFlowDefinitionNode[] | cdktf.IResolvable;
}
export declare function bedrockagentFlowDefinitionToTerraform(struct?: BedrockagentFlowDefinition | cdktf.IResolvable): any;
export declare function bedrockagentFlowDefinitionToHclTerraform(struct?: BedrockagentFlowDefinition | cdktf.IResolvable): any;
export declare class BedrockagentFlowDefinitionOutputReference 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(): BedrockagentFlowDefinition | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowDefinition | cdktf.IResolvable | undefined);
    private _connection;
    get connection(): BedrockagentFlowDefinitionConnectionList;
    putConnection(value: BedrockagentFlowDefinitionConnection[] | cdktf.IResolvable): void;
    resetConnection(): void;
    get connectionInput(): cdktf.IResolvable | BedrockagentFlowDefinitionConnection[] | undefined;
    private _node;
    get nodeAttribute(): BedrockagentFlowDefinitionNodeList;
    putNodeAttribute(value: BedrockagentFlowDefinitionNode[] | cdktf.IResolvable): void;
    resetNodeAttribute(): void;
    get nodeAttributeInput(): cdktf.IResolvable | BedrockagentFlowDefinitionNode[] | undefined;
}
export declare class BedrockagentFlowDefinitionList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: BedrockagentFlowDefinition[] | 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): BedrockagentFlowDefinitionOutputReference;
}
export interface BedrockagentFlowTimeouts {
    /**
    * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#create BedrockagentFlow#create}
    */
    readonly create?: string;
    /**
    * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#delete BedrockagentFlow#delete}
    */
    readonly delete?: string;
    /**
    * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#update BedrockagentFlow#update}
    */
    readonly update?: string;
}
export declare function bedrockagentFlowTimeoutsToTerraform(struct?: BedrockagentFlowTimeouts | cdktf.IResolvable): any;
export declare function bedrockagentFlowTimeoutsToHclTerraform(struct?: BedrockagentFlowTimeouts | cdktf.IResolvable): any;
export declare class BedrockagentFlowTimeoutsOutputReference 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(): BedrockagentFlowTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: BedrockagentFlowTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow aws_bedrockagent_flow}
*/
export declare class BedrockagentFlow extends cdktf.TerraformResource {
    static readonly tfResourceType = "aws_bedrockagent_flow";
    /**
    * Generates CDKTF code for importing a BedrockagentFlow 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 BedrockagentFlow to import
    * @param importFromId The id of the existing BedrockagentFlow that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/bedrockagent_flow#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the BedrockagentFlow 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/aws/6.25.0/docs/resources/bedrockagent_flow aws_bedrockagent_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 BedrockagentFlowConfig
    */
    constructor(scope: Construct, id: string, config: BedrockagentFlowConfig);
    get arn(): string;
    get createdAt(): string;
    private _customerEncryptionKeyArn?;
    get customerEncryptionKeyArn(): string;
    set customerEncryptionKeyArn(value: string);
    resetCustomerEncryptionKeyArn(): void;
    get customerEncryptionKeyArnInput(): string | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _executionRoleArn?;
    get executionRoleArn(): string;
    set executionRoleArn(value: string);
    get executionRoleArnInput(): string | undefined;
    get id(): string;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _region?;
    get region(): string;
    set region(value: string);
    resetRegion(): void;
    get regionInput(): string | undefined;
    get status(): string;
    private _tags?;
    get tags(): {
        [key: string]: string;
    };
    set tags(value: {
        [key: string]: string;
    });
    resetTags(): void;
    get tagsInput(): {
        [key: string]: string;
    } | undefined;
    private _tagsAll;
    get tagsAll(): cdktf.StringMap;
    get updatedAt(): string;
    get version(): string;
    private _definition;
    get definition(): BedrockagentFlowDefinitionList;
    putDefinition(value: BedrockagentFlowDefinition[] | cdktf.IResolvable): void;
    resetDefinition(): void;
    get definitionInput(): cdktf.IResolvable | BedrockagentFlowDefinition[] | undefined;
    private _timeouts;
    get timeouts(): BedrockagentFlowTimeoutsOutputReference;
    putTimeouts(value: BedrockagentFlowTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | BedrockagentFlowTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
