export interface AgentDescriptor {
    /** The agent's alias ARN. */
    aliasArn?: string;
}
export interface CustomOrchestration {
    /** The structure of the executor invoking the actions in custom orchestration. */
    executor?: {
        lambda?: string;
    };
}
export interface PromptOverrideConfiguration {
    /** Contains configurations to override a prompt template in one part of an agent sequence. For more information, see Advanced prompts. */
    promptConfigurations: any[];
    /** The ARN of the Lambda function to use when parsing the raw foundation model output in parts of the agent sequence. If you specify this field, at least one of the promptConfigurations must contain a pa */
    overrideLambda?: string;
}
export interface GuardrailConfiguration {
    /** The unique identifier of the guardrail. */
    guardrailIdentifier?: string;
    /** The version of the guardrail. */
    guardrailVersion?: string;
}
export interface SessionSummaryConfiguration {
    /** Maximum number of recent session summaries to include in the agent's prompt context. */
    maxRecentSessions?: number;
}
export interface MemoryConfiguration {
    /** The type of memory that is stored. */
    enabledMemoryTypes: 'SESSION_SUMMARY'[];
    /** The number of days the agent is configured to retain the conversational context. */
    storageDays?: number;
    /** Contains the configuration for SESSION_SUMMARY memory type enabled for the agent. */
    sessionSummaryConfiguration?: SessionSummaryConfiguration;
}
export interface S3Identifier {
    /** The name of the S3 bucket. */
    s3BucketName?: string;
    /** The S3 object key for the S3 resource. */
    s3ObjectKey?: string;
}
export interface AgentAliasRoutingConfigurationListItem {
    /** The version of the agent with which the alias is associated. */
    agentVersion?: string;
    /** Information on the Provisioned Throughput assigned to an agent alias. */
    provisionedThroughput?: string;
}
export interface S3DataSourceConfiguration {
    /** The Amazon Resource Name (ARN) of the S3 bucket that contains your data. */
    bucketArn: string;
    /** A list of S3 prefixes to include certain files or content. For more information, see Organizing objects using prefixes. */
    inclusionPrefixes?: any[];
    /** The account ID for the owner of the S3 bucket. */
    bucketOwnerAccountId?: string;
}
export interface WebDataSourceConfiguration {
    /** The source configuration details for the web data source. */
    sourceConfiguration: any;
    /** The Web Crawler configuration details for the web data source. */
    crawlerConfiguration?: any;
}
export interface ConfluenceDataSourceConfiguration {
    /** The endpoint information to connect to your Confluence data source. */
    sourceConfiguration: any;
    /** The configuration of the Confluence content. For example, configuring specific types of Confluence content. */
    crawlerConfiguration?: any;
}
export interface SalesforceDataSourceConfiguration {
    /** The endpoint information to connect to your Salesforce data source. */
    sourceConfiguration: any;
    /** The configuration of the Salesforce content. For example, configuring specific types of Salesforce content. */
    crawlerConfiguration?: any;
}
export interface SharePointDataSourceConfiguration {
    /** The endpoint information to connect to your SharePoint data source. */
    sourceConfiguration: any;
    /** The configuration of the SharePoint content. For example, configuring specific types of SharePoint content. */
    crawlerConfiguration?: any;
}
export interface DataSourceConfiguration {
    /** The type of data source. */
    type: 'S3' | 'WEB' | 'CONFLUENCE' | 'SALESFORCE' | 'SHAREPOINT' | 'CUSTOM' | 'REDSHIFT_METADATA';
    /** The configuration information to connect to Amazon S3 as your data source. */
    s3Configuration?: S3DataSourceConfiguration;
    /** The configuration of web URLs to crawl for your data source. You should be authorized to crawl the URLs. Crawling web URLs as your data source is in preview release and is subject to change. */
    webConfiguration?: WebDataSourceConfiguration;
    /** The configuration information to connect to Confluence as your data source. Confluence data source connector is in preview release and is subject to change. */
    confluenceConfiguration?: ConfluenceDataSourceConfiguration;
    /** The configuration information to connect to Salesforce as your data source. Salesforce data source connector is in preview release and is subject to change. */
    salesforceConfiguration?: SalesforceDataSourceConfiguration;
    /** The configuration information to connect to SharePoint as your data source. SharePoint data source connector is in preview release and is subject to change. */
    sharePointConfiguration?: SharePointDataSourceConfiguration;
}
export interface ServerSideEncryptionConfiguration {
    /** The Amazon Resource Name (ARN) of the KMS key used to encrypt the resource. */
    kmsKeyArn?: string;
}
export interface ChunkingConfiguration {
    /** Knowledge base can split your source data into chunks. A chunk refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried. You have the following op */
    chunkingStrategy: 'FIXED_SIZE' | 'NONE' | 'HIERARCHICAL' | 'SEMANTIC';
    /** Configurations for when you choose fixed-size chunking. If you set the chunkingStrategy as NONE, exclude this field. */
    fixedSizeChunkingConfiguration?: any;
    /** Settings for hierarchical document chunking for a data source. Hierarchical chunking splits documents into layers of chunks where the first layer contains large chunks, and the second layer contains s */
    hierarchicalChunkingConfiguration?: any;
    /** Settings for semantic document chunking for a data source. Semantic chunking splits a document into into smaller documents based on groups of similar content derived from the text with natural languag */
    semanticChunkingConfiguration?: any;
}
export interface CustomTransformationConfiguration {
    /** An S3 bucket path for input and output objects. */
    intermediateStorage: any;
    /** A Lambda function that processes documents. */
    transformations: any[];
}
export interface ParsingConfiguration {
    /** The parsing strategy for the data source. */
    parsingStrategy: 'BEDROCK_FOUNDATION_MODEL' | 'BEDROCK_DATA_AUTOMATION';
    /** If you specify BEDROCK_FOUNDATION_MODEL as the parsing strategy for ingesting your data source, use this object to modify configurations for using a foundation model to parse documents. */
    bedrockFoundationModelConfiguration?: any;
    /** If you specify BEDROCK_DATA_AUTOMATION as the parsing strategy for ingesting your data source, use this object to modify configurations for using the Amazon Bedrock Data Automation parser. */
    bedrockDataAutomationConfiguration?: any;
}
export interface ContextEnrichmentConfiguration {
    /** The method used for context enrichment. It must be Amazon Bedrock foundation models. */
    type: 'BEDROCK_FOUNDATION_MODEL';
    /** The configuration of the Amazon Bedrock foundation model used for context enrichment. */
    bedrockFoundationModelConfiguration?: any;
}
export interface VectorIngestionConfiguration {
    /** Details about how to chunk the documents in the data source. A chunk refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried. */
    chunkingConfiguration?: ChunkingConfiguration;
    /** A custom document transformer for parsed data source documents. */
    customTransformationConfiguration?: CustomTransformationConfiguration;
    /** Configurations for a parser to use for parsing documents in your data source. If you exclude this field, the default parser will be used. */
    parsingConfiguration?: ParsingConfiguration;
    /** The context enrichment configuration used for ingestion of the data into the vector store. */
    contextEnrichmentConfiguration?: ContextEnrichmentConfiguration;
}
export interface FlowDefinition {
    /** An array of node definitions in the flow. */
    nodes?: any[];
    /** An array of connection definitions in the flow. */
    connections?: any[];
}
export interface FlowAliasRoutingConfigurationListItem {
    /** The version that the alias maps to. */
    flowVersion?: string;
}
export interface FlowAliasConcurrencyConfiguration {
    /** The type of concurrency to use for parallel node execution. Specify one of the following options: Automatic - Amazon Bedrock determines which nodes can be executed in parallel based on the flow defini */
    type: 'Automatic' | 'Manual';
    /** The maximum number of nodes that can be executed concurrently in the flow. */
    maxConcurrency?: number;
}
export interface VectorKnowledgeBaseConfiguration {
    /** The Amazon Resource Name (ARN) of the model used to create vector embeddings for the knowledge base. */
    embeddingModelArn: string;
    /** The embeddings model configuration details for the vector model used in Knowledge Base. */
    embeddingModelConfiguration?: any;
    /** If you include multimodal data from your data source, use this object to specify configurations for the storage location of the images extracted from your documents. These images can be retrieved and  */
    supplementalDataStorageConfiguration?: any;
}
export interface KendraKnowledgeBaseConfiguration {
    /** The ARN of the Amazon Kendra index. */
    kendraIndexArn: string;
}
export interface SqlKnowledgeBaseConfiguration {
    /** The type of SQL database to connect to the knowledge base. */
    type: 'REDSHIFT';
    /** Specifies configurations for a knowledge base connected to an Amazon Redshift database. */
    redshiftConfiguration?: any;
}
export interface KnowledgeBaseConfiguration {
    /** The type of data that the data source is converted into for the knowledge base. */
    type: 'VECTOR' | 'KENDRA' | 'SQL';
    /** Contains details about the model that's used to convert the data source into vector embeddings. */
    vectorKnowledgeBaseConfiguration?: VectorKnowledgeBaseConfiguration;
    /** Settings for an Amazon Kendra knowledge base. */
    kendraKnowledgeBaseConfiguration?: KendraKnowledgeBaseConfiguration;
    /** Specifies configurations for a knowledge base connected to an SQL database. */
    sqlKnowledgeBaseConfiguration?: SqlKnowledgeBaseConfiguration;
}
export interface OpenSearchServerlessConfiguration {
    /** The Amazon Resource Name (ARN) of the OpenSearch Service vector store. */
    collectionArn: string;
    /** The name of the vector store. */
    vectorIndexName: string;
    /** Contains the names of the fields to which to map information about the vector store. */
    fieldMapping: any;
}
export interface OpenSearchManagedClusterConfiguration {
    /** The endpoint URL the OpenSearch domain. */
    domainEndpoint: string;
    /** The Amazon Resource Name (ARN) of the OpenSearch domain. */
    domainArn: string;
    /** The name of the vector store. */
    vectorIndexName: string;
    /** Contains the names of the fields to which to map information about the vector store. */
    fieldMapping: any;
}
export interface PineconeConfiguration {
    /** The endpoint URL for your index management page. */
    connectionString: string;
    /** The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that is linked to your Pinecone API key. */
    credentialsSecretArn: string;
    /** The namespace to be used to write new data to your database. */
    namespace?: string;
    /** Contains the names of the fields to which to map information about the vector store. */
    fieldMapping: any;
}
export interface RedisEnterpriseCloudConfiguration {
    /** The endpoint URL of the Redis Enterprise Cloud database. */
    endpoint: string;
    /** The name of the vector index. */
    vectorIndexName: string;
    /** The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that is linked to your Redis Enterprise Cloud database. */
    credentialsSecretArn: string;
    /** Contains the names of the fields to which to map information about the vector store. */
    fieldMapping: any;
}
export interface RdsConfiguration {
    /** The Amazon Resource Name (ARN) of the vector store. */
    resourceArn: string;
    /** The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that is linked to your Amazon RDS database. */
    credentialsSecretArn: string;
    /** The name of your Amazon RDS database. */
    databaseName: string;
    /** The name of the table in the database. */
    tableName: string;
    /** Contains the names of the fields to which to map information about the vector store. */
    fieldMapping: any;
}
export interface MongoDbAtlasConfiguration {
    /** The endpoint URL of your MongoDB Atlas cluster for your knowledge base. */
    endpoint: string;
    /** The database name in your MongoDB Atlas cluster for your knowledge base. */
    databaseName: string;
    /** The collection name of the knowledge base in MongoDB Atlas. */
    collectionName: string;
    /** The name of the MongoDB Atlas vector search index. */
    vectorIndexName: string;
    /** The Amazon Resource Name (ARN) of the secret that you created in Secrets Manager that contains user credentials for your MongoDB Atlas cluster. */
    credentialsSecretArn: string;
    /** Contains the names of the fields to which to map information about the vector store. */
    fieldMapping: any;
    /** The name of the VPC endpoint service in your account that is connected to your MongoDB Atlas cluster. */
    endpointServiceName?: string;
    /** The name of the text search index in the MongoDB collection. This is required for using the hybrid search feature. */
    textIndexName?: string;
}
export interface NeptuneAnalyticsConfiguration {
    /** The Amazon Resource Name (ARN) of the Neptune Analytics vector store. */
    graphArn: string;
    /** Contains the names of the fields to which to map information about the vector store. */
    fieldMapping: any;
}
export interface S3VectorsConfiguration {
    /** The Amazon Resource Name (ARN) of the S3 bucket where vector embeddings are stored. This bucket contains the vector data used by the knowledge base. */
    vectorBucketArn?: string;
    /** The Amazon Resource Name (ARN) of the vector index used for the knowledge base. This ARN identifies the specific vector index resource within Amazon Bedrock. */
    indexArn?: string;
    /** The name of the vector index used for the knowledge base. This name identifies the vector index within the Amazon Bedrock service. */
    indexName?: string;
}
export interface StorageConfiguration {
    /** The vector store service in which the knowledge base is stored. */
    type: 'OPENSEARCH_SERVERLESS' | 'PINECONE' | 'REDIS_ENTERPRISE_CLOUD' | 'RDS' | 'MONGO_DB_ATLAS' | 'NEPTUNE_ANALYTICS' | 'OPENSEARCH_MANAGED_CLUSTER' | 'S3_VECTORS';
    /** Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. */
    opensearchServerlessConfiguration?: OpenSearchServerlessConfiguration;
    /** Contains details about the storage configuration of the knowledge base in OpenSearch Managed Cluster. For more information, see Create a vector index in Amazon OpenSearch Service. */
    opensearchManagedClusterConfiguration?: OpenSearchManagedClusterConfiguration;
    /** Contains the storage configuration of the knowledge base in Pinecone. */
    pineconeConfiguration?: PineconeConfiguration;
    /** Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. */
    redisEnterpriseCloudConfiguration?: RedisEnterpriseCloudConfiguration;
    /** Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. */
    rdsConfiguration?: RdsConfiguration;
    /** Contains the storage configuration of the knowledge base in MongoDB Atlas. */
    mongoDbAtlasConfiguration?: MongoDbAtlasConfiguration;
    /** Contains details about the Neptune Analytics configuration of the knowledge base in Amazon Neptune. For more information, see Create a vector index in Amazon Neptune Analytics.. */
    neptuneAnalyticsConfiguration?: NeptuneAnalyticsConfiguration;
    /** The configuration settings for storing knowledge base data using S3 vectors. This includes vector index information and S3 bucket details for vector storage. */
    s3VectorsConfiguration?: S3VectorsConfiguration;
}
export interface PromptVariant {
    /** The name of the prompt variant. */
    name: string;
    /** The type of prompt template to use. */
    templateType: 'TEXT' | 'CHAT';
    /** Contains configurations for the prompt template. */
    templateConfiguration: any;
    /** The unique identifier of the model or inference profile with which to run inference on the prompt. */
    modelId?: string;
    /** Contains inference configurations for the prompt variant. */
    inferenceConfiguration?: any;
    /** An array of objects, each containing a key-value pair that defines a metadata tag and value to attach to a prompt variant. */
    metadata?: any[];
    /** Contains model-specific inference configurations that aren't in the inferenceConfiguration field. To see model-specific inference parameters, see Inference request parameters and response fields for f */
    additionalModelRequestFields?: any;
    /** Specifies a generative AI resource with which to use the prompt. */
    genAiResource?: any;
}
export interface DocumentIdentifier {
    /** The type of data source connected to the knowledge base that contains the document. */
    dataSourceType: 'CUSTOM' | 'S3';
    /** Contains information that identifies the document in an S3 data source. */
    s3?: any;
    /** Contains information that identifies the document in a custom data source. */
    custom?: any;
}
export interface KnowledgeBaseDocument {
    /** Contains the metadata to associate with the document. */
    metadata?: any;
    /** Contains the content of the document. */
    content: any;
}
export interface IngestionJobFilter {
    /** The name of field or attribute to apply the filter. */
    attribute: 'STATUS';
    /** The operation to apply to the field or attribute. */
    operator: 'EQ';
    /** A list of values that belong to the field or attribute. */
    values: any[];
}
export interface IngestionJobSortBy {
    /** The name of field or attribute to apply sorting of data. */
    attribute: 'STATUS' | 'STARTED_AT';
    /** The order for sorting the data. */
    order: 'ASCENDING' | 'DESCENDING';
}
export interface AssociateAgentCollaboratorInput {
    /** The alias of the collaborator agent. */
    agentDescriptor: AgentDescriptor;
    /** The agent's ID. */
    agentId: string;
    /** An agent version. */
    agentVersion: string;
    /** Instruction for the collaborator. */
    collaborationInstruction: string;
    /** A name for the collaborator. */
    collaboratorName: string;
    /** A client token. */
    clientToken?: string;
    /** A relay conversation history for the collaborator. */
    relayConversationHistory?: 'TO_COLLABORATOR' | 'DISABLED';
}
export interface AssociateAgentKnowledgeBaseInput {
    /** The unique identifier of the agent with which you want to associate the knowledge base. */
    agentId: string;
    /** The version of the agent with which you want to associate the knowledge base. */
    agentVersion: string;
    /** A description of what the agent should use the knowledge base for. */
    description: string;
    /** The unique identifier of the knowledge base to associate with the agent. */
    knowledgeBaseId: string;
    /** Specifies whether to use the knowledge base or not when sending an InvokeAgent request. */
    knowledgeBaseState?: 'ENABLED' | 'DISABLED';
}
export interface CreateAgentInput {
    /** A name for the agent that you create. */
    agentName: string;
    /** The agent's collaboration role. */
    agentCollaboration?: 'SUPERVISOR' | 'SUPERVISOR_ROUTER' | 'DISABLED';
    /** The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent. */
    agentResourceRoleArn?: string;
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
    /** The Amazon Resource Name (ARN) of the KMS key with which to encrypt the agent. */
    customerEncryptionKeyArn?: string;
    /** Contains details of the custom orchestration configured for the agent. */
    customOrchestration?: CustomOrchestration;
    /** A description of the agent. */
    description?: string;
    /** The identifier for the model that you want to be used for orchestration by the agent you create. The modelId to provide depends on the type of model or throughput that you use: If you use a base model */
    foundationModel?: string;
    /** The unique Guardrail configuration assigned to the agent when it is created. */
    guardrailConfiguration?: GuardrailConfiguration;
    /** The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occu */
    idleSessionTTLInSeconds?: number;
    /** Instructions that tell the agent what it should do and how it should interact with users. */
    instruction?: string;
    /** Contains the details of the memory configured for the agent. */
    memoryConfiguration?: MemoryConfiguration;
    /** Specifies the type of orchestration strategy for the agent. This is set to DEFAULT orchestration type, by default. */
    orchestrationType?: 'DEFAULT' | 'CUSTOM_ORCHESTRATION';
    /** Contains configurations to override prompts in different parts of an agent sequence. For more information, see Advanced prompts. */
    promptOverrideConfiguration?: PromptOverrideConfiguration;
    /** Any tags that you want to attach to the agent. */
    tags?: Record<string, string>;
}
export interface CreateAgentActionGroupInput {
    /** The name to give the action group. */
    actionGroupName: string;
    /** The unique identifier of the agent for which to create the action group. */
    agentId: string;
    /** The version of the agent for which to create the action group. */
    agentVersion: string;
    /** The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action or the custom control method for handling the information elicited from */
    actionGroupExecutor?: {
        lambda?: string;
    } | {
        customControl?: 'RETURN_CONTROL';
    };
    /** Specifies whether the action group is available for the agent to invoke or not when sending an InvokeAgent request. */
    actionGroupState?: 'ENABLED' | 'DISABLED';
    /** Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema. For more information, see Action group OpenAPI */
    apiSchema?: {
        s3?: S3Identifier;
    } | {
        payload?: string;
    };
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
    /** A description of the action group. */
    description?: string;
    /** Contains details about the function schema for the action group or the JSON or YAML-formatted payload defining the schema. */
    functionSchema?: {
        functions?: any[];
    };
    /** Specify a built-in or computer use action for this action group. If you specify a value, you must leave the description, apiSchema, and actionGroupExecutor fields empty for this action group. To allow */
    parentActionGroupSignature?: 'AMAZON.UserInput' | 'AMAZON.CodeInterpreter' | 'ANTHROPIC.Computer' | 'ANTHROPIC.Bash' | 'ANTHROPIC.TextEditor';
    /** The configuration settings for a computer use action. Computer use is a new Anthropic Claude model capability (in beta) available with Anthropic Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. For mo */
    parentActionGroupSignatureParams?: Record<string, string>;
}
export interface CreateAgentAliasInput {
    /** The name of the alias. */
    agentAliasName: string;
    /** The unique identifier of the agent. */
    agentId: string;
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
    /** A description of the alias of the agent. */
    description?: string;
    /** Contains details about the routing configuration of the alias. */
    routingConfiguration?: AgentAliasRoutingConfigurationListItem[];
    /** Any tags that you want to attach to the alias of the agent. */
    tags?: Record<string, string>;
}
export interface CreateDataSourceInput {
    /** The connection configuration for the data source. */
    dataSourceConfiguration: DataSourceConfiguration;
    /** The unique identifier of the knowledge base to which to add the data source. */
    knowledgeBaseId: string;
    /** The name of the data source. */
    name: string;
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
    /** The data deletion policy for the data source. You can set the data deletion policy to: DELETE: Deletes all data from your data source that’s converted into vector embeddings upon deletion of a knowled */
    dataDeletionPolicy?: 'RETAIN' | 'DELETE';
    /** A description of the data source. */
    description?: string;
    /** Contains details about the server-side encryption for the data source. */
    serverSideEncryptionConfiguration?: ServerSideEncryptionConfiguration;
    /** Contains details about how to ingest the documents in the data source. */
    vectorIngestionConfiguration?: VectorIngestionConfiguration;
}
export interface CreateFlowInput {
    /** The Amazon Resource Name (ARN) of the service role with permissions to create and manage a flow. For more information, see Create a service role for flows in Amazon Bedrock in the Amazon Bedrock User  */
    executionRoleArn: string;
    /** A name for the flow. */
    name: string;
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
    /** The Amazon Resource Name (ARN) of the KMS key to encrypt the flow. */
    customerEncryptionKeyArn?: string;
    /** A definition of the nodes and connections between nodes in the flow. */
    definition?: FlowDefinition;
    /** A description for the flow. */
    description?: string;
    /** Any tags that you want to attach to the flow. For more information, see Tagging resources in Amazon Bedrock. */
    tags?: Record<string, string>;
}
export interface CreateFlowAliasInput {
    /** The unique identifier of the flow for which to create an alias. */
    flowIdentifier: string;
    /** A name for the alias. */
    name: string;
    /** Contains information about the version to which to map the alias. */
    routingConfiguration: FlowAliasRoutingConfigurationListItem[];
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
    /** The configuration that specifies how nodes in the flow are executed in parallel. */
    concurrencyConfiguration?: FlowAliasConcurrencyConfiguration;
    /** A description for the alias. */
    description?: string;
    /** Any tags that you want to attach to the alias of the flow. For more information, see Tagging resources in Amazon Bedrock. */
    tags?: Record<string, string>;
}
export interface CreateFlowVersionInput {
    /** The unique identifier of the flow that you want to create a version of. */
    flowIdentifier: string;
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
    /** A description of the version of the flow. */
    description?: string;
}
export interface CreateKnowledgeBaseInput {
    /** Contains details about the embeddings model used for the knowledge base. */
    knowledgeBaseConfiguration: KnowledgeBaseConfiguration;
    /** A name for the knowledge base. */
    name: string;
    /** The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base. */
    roleArn: string;
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
    /** A description of the knowledge base. */
    description?: string;
    /** Contains details about the configuration of the vector database used for the knowledge base. */
    storageConfiguration?: StorageConfiguration;
    /** Specify the key-value pairs for the tags that you want to attach to your knowledge base in this object. */
    tags?: Record<string, string>;
}
export interface CreatePromptInput {
    /** A name for the prompt. */
    name: string;
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
    /** The Amazon Resource Name (ARN) of the KMS key to encrypt the prompt. */
    customerEncryptionKeyArn?: string;
    /** The name of the default variant for the prompt. This value must match the name field in the relevant PromptVariant object. */
    defaultVariant?: string;
    /** A description for the prompt. */
    description?: string;
    /** Any tags that you want to attach to the prompt. For more information, see Tagging resources in Amazon Bedrock. */
    tags?: Record<string, string>;
    /** A list of objects, each containing details about a variant of the prompt. */
    variants?: PromptVariant[];
}
export interface CreatePromptVersionInput {
    /** The unique identifier of the prompt that you want to create a version of. */
    promptIdentifier: string;
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
    /** A description for the version of the prompt. */
    description?: string;
    /** Any tags that you want to attach to the version of the prompt. For more information, see Tagging resources in Amazon Bedrock. */
    tags?: Record<string, string>;
}
export interface DeleteAgentInput {
    /** The unique identifier of the agent to delete. */
    agentId: string;
    /** By default, this value is false and deletion is stopped if the resource is in use. If you set it to true, the resource will be deleted even if the resource is in use. */
    skipResourceInUseCheck?: boolean;
}
export interface DeleteAgentActionGroupInput {
    /** The unique identifier of the action group to delete. */
    actionGroupId: string;
    /** The unique identifier of the agent that the action group belongs to. */
    agentId: string;
    /** The version of the agent that the action group belongs to. */
    agentVersion: string;
    /** By default, this value is false and deletion is stopped if the resource is in use. If you set it to true, the resource will be deleted even if the resource is in use. */
    skipResourceInUseCheck?: boolean;
}
export interface DeleteAgentAliasInput {
    /** The unique identifier of the alias to delete. */
    agentAliasId: string;
    /** The unique identifier of the agent that the alias belongs to. */
    agentId: string;
}
export interface DeleteAgentVersionInput {
    /** The unique identifier of the agent that the version belongs to. */
    agentId: string;
    /** The version of the agent to delete. */
    agentVersion: string;
    /** By default, this value is false and deletion is stopped if the resource is in use. If you set it to true, the resource will be deleted even if the resource is in use. */
    skipResourceInUseCheck?: boolean;
}
export interface DeleteDataSourceInput {
    /** The unique identifier of the data source to delete. */
    dataSourceId: string;
    /** The unique identifier of the knowledge base from which to delete the data source. */
    knowledgeBaseId: string;
}
export interface DeleteFlowInput {
    /** The unique identifier of the flow. */
    flowIdentifier: string;
    /** By default, this value is false and deletion is stopped if the resource is in use. If you set it to true, the resource will be deleted even if the resource is in use. */
    skipResourceInUseCheck?: boolean;
}
export interface DeleteFlowAliasInput {
    /** The unique identifier of the alias to be deleted. */
    aliasIdentifier: string;
    /** The unique identifier of the flow that the alias belongs to. */
    flowIdentifier: string;
}
export interface DeleteFlowVersionInput {
    /** The unique identifier of the flow whose version that you want to delete */
    flowIdentifier: string;
    /** The version of the flow that you want to delete. */
    flowVersion: string;
    /** By default, this value is false and deletion is stopped if the resource is in use. If you set it to true, the resource will be deleted even if the resource is in use. */
    skipResourceInUseCheck?: boolean;
}
export interface DeleteKnowledgeBaseInput {
    /** The unique identifier of the knowledge base to delete. */
    knowledgeBaseId: string;
}
export interface DeleteKnowledgeBaseDocumentsInput {
    /** The unique identifier of the data source that contains the documents. */
    dataSourceId: string;
    /** A list of objects, each of which contains information to identify a document to delete. */
    documentIdentifiers: DocumentIdentifier[];
    /** The unique identifier of the knowledge base that is connected to the data source. */
    knowledgeBaseId: string;
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
}
export interface DeletePromptInput {
    /** The unique identifier of the prompt. */
    promptIdentifier: string;
    /** The version of the prompt to delete. To delete the prompt, omit this field. */
    promptVersion?: string;
}
export interface DisassociateAgentCollaboratorInput {
    /** An agent ID. */
    agentId: string;
    /** The agent's version. */
    agentVersion: string;
    /** The collaborator's ID. */
    collaboratorId: string;
}
export interface DisassociateAgentKnowledgeBaseInput {
    /** The unique identifier of the agent from which to disassociate the knowledge base. */
    agentId: string;
    /** The version of the agent from which to disassociate the knowledge base. */
    agentVersion: string;
    /** The unique identifier of the knowledge base to disassociate. */
    knowledgeBaseId: string;
}
export interface GetAgentInput {
    /** The unique identifier of the agent. */
    agentId: string;
}
export interface GetAgentActionGroupInput {
    /** The unique identifier of the action group for which to get information. */
    actionGroupId: string;
    /** The unique identifier of the agent that the action group belongs to. */
    agentId: string;
    /** The version of the agent that the action group belongs to. */
    agentVersion: string;
}
export interface GetAgentAliasInput {
    /** The unique identifier of the alias for which to get information. */
    agentAliasId: string;
    /** The unique identifier of the agent to which the alias to get information belongs. */
    agentId: string;
}
export interface GetAgentCollaboratorInput {
    /** The agent's ID. */
    agentId: string;
    /** The agent's version. */
    agentVersion: string;
    /** The collaborator's ID. */
    collaboratorId: string;
}
export interface GetAgentKnowledgeBaseInput {
    /** The unique identifier of the agent with which the knowledge base is associated. */
    agentId: string;
    /** The version of the agent with which the knowledge base is associated. */
    agentVersion: string;
    /** The unique identifier of the knowledge base associated with the agent. */
    knowledgeBaseId: string;
}
export interface GetAgentVersionInput {
    /** The unique identifier of the agent. */
    agentId: string;
    /** The version of the agent. */
    agentVersion: string;
}
export interface GetDataSourceInput {
    /** The unique identifier of the data source. */
    dataSourceId: string;
    /** The unique identifier of the knowledge base for the data source. */
    knowledgeBaseId: string;
}
export interface GetFlowInput {
    /** The unique identifier of the flow. */
    flowIdentifier: string;
}
export interface GetFlowAliasInput {
    /** The unique identifier of the alias for which to retrieve information. */
    aliasIdentifier: string;
    /** The unique identifier of the flow that the alias belongs to. */
    flowIdentifier: string;
}
export interface GetFlowVersionInput {
    /** The unique identifier of the flow for which to get information. */
    flowIdentifier: string;
    /** The version of the flow for which to get information. */
    flowVersion: string;
}
export interface GetIngestionJobInput {
    /** The unique identifier of the data source for the data ingestion job you want to get information on. */
    dataSourceId: string;
    /** The unique identifier of the data ingestion job you want to get information on. */
    ingestionJobId: string;
    /** The unique identifier of the knowledge base for the data ingestion job you want to get information on. */
    knowledgeBaseId: string;
}
export interface GetKnowledgeBaseInput {
    /** The unique identifier of the knowledge base you want to get information on. */
    knowledgeBaseId: string;
}
export interface GetKnowledgeBaseDocumentsInput {
    /** The unique identifier of the data source that contains the documents. */
    dataSourceId: string;
    /** A list of objects, each of which contains information to identify a document for which to retrieve information. */
    documentIdentifiers: DocumentIdentifier[];
    /** The unique identifier of the knowledge base that is connected to the data source. */
    knowledgeBaseId: string;
}
export interface GetPromptInput {
    /** The unique identifier of the prompt. */
    promptIdentifier: string;
    /** The version of the prompt about which you want to retrieve information. Omit this field to return information about the working draft of the prompt. */
    promptVersion?: string;
}
export interface IngestKnowledgeBaseDocumentsInput {
    /** The unique identifier of the data source connected to the knowledge base that you're adding documents to. */
    dataSourceId: string;
    /** A list of objects, each of which contains information about the documents to add. */
    documents: KnowledgeBaseDocument[];
    /** The unique identifier of the knowledge base to ingest the documents into. */
    knowledgeBaseId: string;
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
}
export interface ListAgentActionGroupsInput {
    /** The unique identifier of the agent. */
    agentId: string;
    /** The version of the agent. */
    agentVersion: string;
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
}
export interface ListAgentAliasesInput {
    /** The unique identifier of the agent. */
    agentId: string;
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
}
export interface ListAgentCollaboratorsInput {
    /** The agent's ID. */
    agentId: string;
    /** The agent's version. */
    agentVersion: string;
    /** The maximum number of agent collaborators to return in one page of results. */
    maxResults?: number;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    nextToken?: string;
}
export interface ListAgentKnowledgeBasesInput {
    /** The unique identifier of the agent for which to return information about knowledge bases associated with it. */
    agentId: string;
    /** The version of the agent for which to return information about knowledge bases associated with it. */
    agentVersion: string;
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
}
export interface ListAgentsInput {
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
}
export interface ListAgentVersionsInput {
    /** The unique identifier of the agent. */
    agentId: string;
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
}
export interface ListDataSourcesInput {
    /** The unique identifier of the knowledge base for which to return a list of information. */
    knowledgeBaseId: string;
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
}
export interface ListFlowAliasesInput {
    /** The unique identifier of the flow for which aliases are being returned. */
    flowIdentifier: string;
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
}
export interface ListFlowsInput {
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
}
export interface ListFlowVersionsInput {
    /** The unique identifier of the flow. */
    flowIdentifier: string;
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
}
export interface ListIngestionJobsInput {
    /** The unique identifier of the data source for the list of data ingestion jobs. */
    dataSourceId: string;
    /** The unique identifier of the knowledge base for the list of data ingestion jobs. */
    knowledgeBaseId: string;
    /** Contains information about the filters for filtering the data. */
    filters?: IngestionJobFilter[];
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
    /** Contains details about how to sort the data. */
    sortBy?: IngestionJobSortBy;
}
export interface ListKnowledgeBaseDocumentsInput {
    /** The unique identifier of the data source that contains the documents. */
    dataSourceId: string;
    /** The unique identifier of the knowledge base that is connected to the data source. */
    knowledgeBaseId: string;
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
}
export interface ListKnowledgeBasesInput {
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
}
export interface ListPromptsInput {
    /** The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the nextToken field when making another re */
    maxResults?: number;
    /** If the total number of results is greater than the maxResults value provided in the request, enter the token returned in the nextToken field in the response in this field to return the next batch of r */
    nextToken?: string;
    /** The unique identifier of the prompt for whose versions you want to return information. Omit this field to list information about all prompts in an account. */
    promptIdentifier?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource for which to list tags. */
    resourceArn: string;
}
export interface PrepareAgentInput {
    /** The unique identifier of the agent for which to create a DRAFT version. */
    agentId: string;
}
export interface PrepareFlowInput {
    /** The unique identifier of the flow. */
    flowIdentifier: string;
}
export interface StartIngestionJobInput {
    /** The unique identifier of the data source you want to ingest into your knowledge base. */
    dataSourceId: string;
    /** The unique identifier of the knowledge base for the data ingestion job. */
    knowledgeBaseId: string;
    /** A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an */
    clientToken?: string;
    /** A description of the data ingestion job. */
    description?: string;
}
export interface StopIngestionJobInput {
    /** The unique identifier of the data source for the data ingestion job you want to stop. */
    dataSourceId: string;
    /** The unique identifier of the data ingestion job you want to stop. */
    ingestionJobId: string;
    /** The unique identifier of the knowledge base for the data ingestion job you want to stop. */
    knowledgeBaseId: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to tag. */
    resourceArn: string;
    /** An object containing key-value pairs that define the tags to attach to the resource. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource from which to remove tags. */
    resourceArn: string;
    /** A list of keys of the tags to remove from the resource. */
    tagKeys: string[];
}
export interface UpdateAgentInput {
    /** The unique identifier of the agent. */
    agentId: string;
    /** Specifies a new name for the agent. */
    agentName: string;
    /** The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent. */
    agentResourceRoleArn: string;
    /** The identifier for the model that you want to be used for orchestration by the agent you create. The modelId to provide depends on the type of model or throughput that you use: If you use a base model */
    foundationModel: string;
    /** The agent's collaboration role. */
    agentCollaboration?: 'SUPERVISOR' | 'SUPERVISOR_ROUTER' | 'DISABLED';
    /** The Amazon Resource Name (ARN) of the KMS key with which to encrypt the agent. */
    customerEncryptionKeyArn?: string;
    /** Contains details of the custom orchestration configured for the agent. */
    customOrchestration?: CustomOrchestration;
    /** Specifies a new description of the agent. */
    description?: string;
    /** The unique Guardrail configuration assigned to the agent when it is updated. */
    guardrailConfiguration?: GuardrailConfiguration;
    /** The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occu */
    idleSessionTTLInSeconds?: number;
    /** Specifies new instructions that tell the agent what it should do and how it should interact with users. */
    instruction?: string;
    /** Specifies the new memory configuration for the agent. */
    memoryConfiguration?: MemoryConfiguration;
    /** Specifies the type of orchestration strategy for the agent. This is set to DEFAULT orchestration type, by default. */
    orchestrationType?: 'DEFAULT' | 'CUSTOM_ORCHESTRATION';
    /** Contains configurations to override prompts in different parts of an agent sequence. For more information, see Advanced prompts. */
    promptOverrideConfiguration?: PromptOverrideConfiguration;
}
export interface UpdateAgentActionGroupInput {
    /** The unique identifier of the action group. */
    actionGroupId: string;
    /** Specifies a new name for the action group. */
    actionGroupName: string;
    /** The unique identifier of the agent for which to update the action group. */
    agentId: string;
    /** The unique identifier of the agent version for which to update the action group. */
    agentVersion: string;
    /** The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action. */
    actionGroupExecutor?: {
        lambda?: string;
    } | {
        customControl?: 'RETURN_CONTROL';
    };
    /** Specifies whether the action group is available for the agent to invoke or not when sending an InvokeAgent request. */
    actionGroupState?: 'ENABLED' | 'DISABLED';
    /** Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema. For more information, see Action group OpenAPI */
    apiSchema?: {
        s3?: S3Identifier;
    } | {
        payload?: string;
    };
    /** Specifies a new name for the action group. */
    description?: string;
    /** Contains details about the function schema for the action group or the JSON or YAML-formatted payload defining the schema. */
    functionSchema?: {
        functions?: any[];
    };
    /** Update the built-in or computer use action for this action group. If you specify a value, you must leave the description, apiSchema, and actionGroupExecutor fields empty for this action group. To allo */
    parentActionGroupSignature?: 'AMAZON.UserInput' | 'AMAZON.CodeInterpreter' | 'ANTHROPIC.Computer' | 'ANTHROPIC.Bash' | 'ANTHROPIC.TextEditor';
    /** The configuration settings for a computer use action. Computer use is a new Anthropic Claude model capability (in beta) available with Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. For more informa */
    parentActionGroupSignatureParams?: Record<string, string>;
}
export interface UpdateAgentAliasInput {
    /** The unique identifier of the alias. */
    agentAliasId: string;
    /** Specifies a new name for the alias. */
    agentAliasName: string;
    /** The unique identifier of the agent. */
    agentId: string;
    /** The invocation state for the agent alias. To pause the agent alias, set the value to REJECT_INVOCATIONS. To start the agent alias running again, set the value to ACCEPT_INVOCATIONS. Use the GetAgentAl */
    aliasInvocationState?: 'ACCEPT_INVOCATIONS' | 'REJECT_INVOCATIONS';
    /** Specifies a new description for the alias. */
    description?: string;
    /** Contains details about the routing configuration of the alias. */
    routingConfiguration?: AgentAliasRoutingConfigurationListItem[];
}
export interface UpdateAgentCollaboratorInput {
    /** An agent descriptor for the agent collaborator. */
    agentDescriptor: AgentDescriptor;
    /** The agent's ID. */
    agentId: string;
    /** The agent's version. */
    agentVersion: string;
    /** Instruction for the collaborator. */
    collaborationInstruction: string;
    /** The collaborator's ID. */
    collaboratorId: string;
    /** The collaborator's name. */
    collaboratorName: string;
    /** A relay conversation history for the collaborator. */
    relayConversationHistory?: 'TO_COLLABORATOR' | 'DISABLED';
}
export interface UpdateAgentKnowledgeBaseInput {
    /** The unique identifier of the agent associated with the knowledge base that you want to update. */
    agentId: string;
    /** The version of the agent associated with the knowledge base that you want to update. */
    agentVersion: string;
    /** The unique identifier of the knowledge base that has been associated with an agent. */
    knowledgeBaseId: string;
    /** Specifies a new description for the knowledge base associated with an agent. */
    description?: string;
    /** Specifies whether the agent uses the knowledge base or not when sending an InvokeAgent request. */
    knowledgeBaseState?: 'ENABLED' | 'DISABLED';
}
export interface UpdateDataSourceInput {
    /** The connection configuration for the data source that you want to update. */
    dataSourceConfiguration: DataSourceConfiguration;
    /** The unique identifier of the data source. */
    dataSourceId: string;
    /** The unique identifier of the knowledge base for the data source. */
    knowledgeBaseId: string;
    /** Specifies a new name for the data source. */
    name: string;
    /** The data deletion policy for the data source that you want to update. */
    dataDeletionPolicy?: 'RETAIN' | 'DELETE';
    /** Specifies a new description for the data source. */
    description?: string;
    /** Contains details about server-side encryption of the data source. */
    serverSideEncryptionConfiguration?: ServerSideEncryptionConfiguration;
    /** Contains details about how to ingest the documents in the data source. */
    vectorIngestionConfiguration?: VectorIngestionConfiguration;
}
export interface UpdateFlowInput {
    /** The Amazon Resource Name (ARN) of the service role with permissions to create and manage a flow. For more information, see Create a service role for flows in Amazon Bedrock in the Amazon Bedrock User  */
    executionRoleArn: string;
    /** The unique identifier of the flow. */
    flowIdentifier: string;
    /** A name for the flow. */
    name: string;
    /** The Amazon Resource Name (ARN) of the KMS key to encrypt the flow. */
    customerEncryptionKeyArn?: string;
    /** A definition of the nodes and the connections between the nodes in the flow. */
    definition?: FlowDefinition;
    /** A description for the flow. */
    description?: string;
}
export interface UpdateFlowAliasInput {
    /** The unique identifier of the alias. */
    aliasIdentifier: string;
    /** The unique identifier of the flow. */
    flowIdentifier: string;
    /** The name of the alias. */
    name: string;
    /** Contains information about the version to which to map the alias. */
    routingConfiguration: FlowAliasRoutingConfigurationListItem[];
    /** The configuration that specifies how nodes in the flow are executed in parallel. */
    concurrencyConfiguration?: FlowAliasConcurrencyConfiguration;
    /** A description for the alias. */
    description?: string;
}
export interface UpdateKnowledgeBaseInput {
    /** Specifies the configuration for the embeddings model used for the knowledge base. You must use the same configuration as when the knowledge base was created. */
    knowledgeBaseConfiguration: KnowledgeBaseConfiguration;
    /** The unique identifier of the knowledge base to update. */
    knowledgeBaseId: string;
    /** Specifies a new name for the knowledge base. */
    name: string;
    /** Specifies a different Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base. */
    roleArn: string;
    /** Specifies a new description for the knowledge base. */
    description?: string;
    /** Specifies the configuration for the vector store used for the knowledge base. You must use the same configuration as when the knowledge base was created. */
    storageConfiguration?: StorageConfiguration;
}
export interface UpdatePromptInput {
    /** A name for the prompt. */
    name: string;
    /** The unique identifier of the prompt. */
    promptIdentifier: string;
    /** The Amazon Resource Name (ARN) of the KMS key to encrypt the prompt. */
    customerEncryptionKeyArn?: string;
    /** The name of the default variant for the prompt. This value must match the name field in the relevant PromptVariant object. */
    defaultVariant?: string;
    /** A description for the prompt. */
    description?: string;
    /** A list of objects, each containing details about a variant of the prompt. */
    variants?: PromptVariant[];
}
export interface ValidateFlowDefinitionInput {
    /** The definition of a flow to validate. */
    definition: FlowDefinition;
}
/** Bedrock Agent service binding for Step Functions SDK integrations. */
export declare class BedrockAgent {
    constructor();
    associateAgentCollaborator<T>(params: AssociateAgentCollaboratorInput): Promise<T>;
    associateAgentKnowledgeBase<T>(params: AssociateAgentKnowledgeBaseInput): Promise<T>;
    createAgent<T>(params: CreateAgentInput): Promise<T>;
    createAgentActionGroup<T>(params: CreateAgentActionGroupInput): Promise<T>;
    createAgentAlias<T>(params: CreateAgentAliasInput): Promise<T>;
    createDataSource<T>(params: CreateDataSourceInput): Promise<T>;
    createFlow<T>(params: CreateFlowInput): Promise<T>;
    createFlowAlias<T>(params: CreateFlowAliasInput): Promise<T>;
    createFlowVersion<T>(params: CreateFlowVersionInput): Promise<T>;
    createKnowledgeBase<T>(params: CreateKnowledgeBaseInput): Promise<T>;
    createPrompt<T>(params: CreatePromptInput): Promise<T>;
    createPromptVersion<T>(params: CreatePromptVersionInput): Promise<T>;
    deleteAgent<T>(params: DeleteAgentInput): Promise<T>;
    deleteAgentActionGroup<T>(params: DeleteAgentActionGroupInput): Promise<T>;
    deleteAgentAlias<T>(params: DeleteAgentAliasInput): Promise<T>;
    deleteAgentVersion<T>(params: DeleteAgentVersionInput): Promise<T>;
    deleteDataSource<T>(params: DeleteDataSourceInput): Promise<T>;
    deleteFlow<T>(params: DeleteFlowInput): Promise<T>;
    deleteFlowAlias<T>(params: DeleteFlowAliasInput): Promise<T>;
    deleteFlowVersion<T>(params: DeleteFlowVersionInput): Promise<T>;
    deleteKnowledgeBase<T>(params: DeleteKnowledgeBaseInput): Promise<T>;
    deleteKnowledgeBaseDocuments<T>(params: DeleteKnowledgeBaseDocumentsInput): Promise<T>;
    deletePrompt<T>(params: DeletePromptInput): Promise<T>;
    disassociateAgentCollaborator<T>(params: DisassociateAgentCollaboratorInput): Promise<T>;
    disassociateAgentKnowledgeBase<T>(params: DisassociateAgentKnowledgeBaseInput): Promise<T>;
    getAgent<T>(params: GetAgentInput): Promise<T>;
    getAgentActionGroup<T>(params: GetAgentActionGroupInput): Promise<T>;
    getAgentAlias<T>(params: GetAgentAliasInput): Promise<T>;
    getAgentCollaborator<T>(params: GetAgentCollaboratorInput): Promise<T>;
    getAgentKnowledgeBase<T>(params: GetAgentKnowledgeBaseInput): Promise<T>;
    getAgentVersion<T>(params: GetAgentVersionInput): Promise<T>;
    getDataSource<T>(params: GetDataSourceInput): Promise<T>;
    getFlow<T>(params: GetFlowInput): Promise<T>;
    getFlowAlias<T>(params: GetFlowAliasInput): Promise<T>;
    getFlowVersion<T>(params: GetFlowVersionInput): Promise<T>;
    getIngestionJob<T>(params: GetIngestionJobInput): Promise<T>;
    getKnowledgeBase<T>(params: GetKnowledgeBaseInput): Promise<T>;
    getKnowledgeBaseDocuments<T>(params: GetKnowledgeBaseDocumentsInput): Promise<T>;
    getPrompt<T>(params: GetPromptInput): Promise<T>;
    ingestKnowledgeBaseDocuments<T>(params: IngestKnowledgeBaseDocumentsInput): Promise<T>;
    listAgentActionGroups<T>(params: ListAgentActionGroupsInput): Promise<T>;
    listAgentAliases<T>(params: ListAgentAliasesInput): Promise<T>;
    listAgentCollaborators<T>(params: ListAgentCollaboratorsInput): Promise<T>;
    listAgentKnowledgeBases<T>(params: ListAgentKnowledgeBasesInput): Promise<T>;
    listAgents<T>(params: ListAgentsInput): Promise<T>;
    listAgentVersions<T>(params: ListAgentVersionsInput): Promise<T>;
    listDataSources<T>(params: ListDataSourcesInput): Promise<T>;
    listFlowAliases<T>(params: ListFlowAliasesInput): Promise<T>;
    listFlows<T>(params: ListFlowsInput): Promise<T>;
    listFlowVersions<T>(params: ListFlowVersionsInput): Promise<T>;
    listIngestionJobs<T>(params: ListIngestionJobsInput): Promise<T>;
    listKnowledgeBaseDocuments<T>(params: ListKnowledgeBaseDocumentsInput): Promise<T>;
    listKnowledgeBases<T>(params: ListKnowledgeBasesInput): Promise<T>;
    listPrompts<T>(params: ListPromptsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    prepareAgent<T>(params: PrepareAgentInput): Promise<T>;
    prepareFlow<T>(params: PrepareFlowInput): Promise<T>;
    startIngestionJob<T>(params: StartIngestionJobInput): Promise<T>;
    stopIngestionJob<T>(params: StopIngestionJobInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAgent<T>(params: UpdateAgentInput): Promise<T>;
    updateAgentActionGroup<T>(params: UpdateAgentActionGroupInput): Promise<T>;
    updateAgentAlias<T>(params: UpdateAgentAliasInput): Promise<T>;
    updateAgentCollaborator<T>(params: UpdateAgentCollaboratorInput): Promise<T>;
    updateAgentKnowledgeBase<T>(params: UpdateAgentKnowledgeBaseInput): Promise<T>;
    updateDataSource<T>(params: UpdateDataSourceInput): Promise<T>;
    updateFlow<T>(params: UpdateFlowInput): Promise<T>;
    updateFlowAlias<T>(params: UpdateFlowAliasInput): Promise<T>;
    updateKnowledgeBase<T>(params: UpdateKnowledgeBaseInput): Promise<T>;
    updatePrompt<T>(params: UpdatePromptInput): Promise<T>;
    validateFlowDefinition<T>(params: ValidateFlowDefinitionInput): Promise<T>;
}
//# sourceMappingURL=BedrockAgent.d.ts.map