export interface QueryGenerationInput {
    /** The type of the query. */
    type: 'TEXT';
    /** The text of the query. */
    text: string;
}
export interface TextToSqlConfiguration {
    /** The type of resource to use in transformation. */
    type: 'KNOWLEDGE_BASE';
    /** Specifies configurations for a knowledge base to use in transformation. */
    knowledgeBaseConfiguration?: any;
}
export interface TransformationConfiguration {
    /** The mode of the transformation. */
    mode: 'TEXT_TO_SQL';
    /** Specifies configurations for transforming text to SQL. */
    textToSqlConfiguration?: TextToSqlConfiguration;
}
export interface ConversationHistory {
    /** The conversation's messages. */
    messages?: any[];
}
export interface SessionState {
    /** Contains attributes that persist across a session and the values of those attributes. If sessionAttributes are passed to a supervisor agent in multi-agent collaboration, it will be forwarded to all ag */
    sessionAttributes?: Record<string, string>;
    /** Contains attributes that persist across a prompt and the values of those attributes. In orchestration prompt template, these attributes replace the $prompt_session_attributes$ placeholder variable. Fo */
    promptSessionAttributes?: Record<string, string>;
    /** Contains information about the results from the action group invocation. For more information, see Return control to the agent developer and Control session context. If you include this field, the inp */
    returnControlInvocationResults?: any[];
    /** The identifier of the invocation of an action. This value must match the invocationId returned in the InvokeAgent response for the action whose results are provided in the returnControlInvocationResul */
    invocationId?: string;
    /** Contains information about the files used by code interpreter. */
    files?: any[];
    /** An array of configurations, each of which applies to a knowledge base attached to the agent. */
    knowledgeBaseConfigurations?: any[];
    /** The state's conversation history. */
    conversationHistory?: ConversationHistory;
}
export interface PerformanceConfiguration {
    /** To use a latency-optimized version of the model, set to optimized. */
    latency?: 'standard' | 'optimized';
}
export interface BedrockModelConfigurations {
    /** The performance configuration for the model. */
    performanceConfig?: PerformanceConfiguration;
}
export interface StreamingConfigurations {
    /** Specifies whether to enable streaming for the final response. This is set to false by default. */
    streamFinalResponse?: boolean;
    /** The guardrail interval to apply as response is generated. By default, the guardrail interval is set to 50 characters. If a larger interval is specified, the response will be generated in larger chunks */
    applyGuardrailInterval?: number;
}
export interface PromptCreationConfigurations {
    /** The number of previous conversations from the ongoing agent session to include in the conversation history of the agent prompt, during the current invocation. This gives you more granular control over */
    previousConversationTurnsToInclude?: number;
    /** If true, the service removes any content between &lt;thinking&gt; tags from previous conversations in an agent session. The service will only remove content from already processed turns. This helps yo */
    excludePreviousThinkingSteps?: boolean;
}
export interface FlowInput {
    /** The name of the flow input node that begins the prompt flow. */
    nodeName: string;
    /** The name of the output from the flow input node that begins the prompt flow. */
    nodeOutputName?: string;
    /** Contains information about an input into the prompt flow. */
    content: any;
    /** The name of the input from the flow input node. */
    nodeInputName?: string;
}
export interface ModelPerformanceConfiguration {
    /** The latency configuration for the model. */
    performanceConfig?: PerformanceConfiguration;
}
export interface AgentActionGroup {
    /** The name of the action group. */
    actionGroupName: string;
    /** A description of the action group. */
    description?: string;
    /** 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 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?: any;
    /** 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?: any;
    /** Contains details about the function schema for the action group or the JSON or YAML-formatted payload defining the schema. */
    functionSchema?: any;
    /** 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, any>;
}
export interface KnowledgeBase {
    /** The unique identifier for a knowledge base associated with the inline agent. */
    knowledgeBaseId: string;
    /** The description of the knowledge base associated with the inline agent. */
    description: string;
    /** The configurations to apply to the knowledge base during query. For more information, see Query configurations. */
    retrievalConfiguration?: any;
}
export interface GuardrailConfigurationWithArn {
    /** The unique identifier for the guardrail. */
    guardrailIdentifier: string;
    /** The version of the guardrail. */
    guardrailVersion: 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 CollaboratorConfiguration {
    /** Name of the inline collaborator agent which must be the same name as specified for agentName. */
    collaboratorName: string;
    /** Instructions that tell the inline collaborator agent what it should do and how it should interact with users. */
    collaboratorInstruction: string;
    /** The Amazon Resource Name (ARN) of the inline collaborator agent. */
    agentAliasArn?: string;
    /** A relay conversation history for the inline collaborator agent. */
    relayConversationHistory?: 'TO_COLLABORATOR' | 'DISABLED';
}
export interface InlineSessionState {
    /** Contains attributes that persist across a session and the values of those attributes. */
    sessionAttributes?: Record<string, string>;
    /** Contains attributes that persist across a session and the values of those attributes. */
    promptSessionAttributes?: Record<string, string>;
    /** Contains information about the results from the action group invocation. For more information, see Return control to the agent developer. If you include this field in the sessionState field, the input */
    returnControlInvocationResults?: any[];
    /** The identifier of the invocation of an action. This value must match the invocationId returned in the InvokeInlineAgent response for the action whose results are provided in the returnControlInvocatio */
    invocationId?: string;
    /** Contains information about the files used by code interpreter. */
    files?: any[];
    /** Contains the conversation history that persist across sessions. */
    conversationHistory?: ConversationHistory;
}
export interface Collaborator {
    /** The Amazon Resource Name (ARN) of the AWS KMS key that encrypts the inline collaborator. */
    customerEncryptionKeyArn?: string;
    /** The foundation model used by the inline collaborator agent. */
    foundationModel: string;
    /** Instruction that tell the inline collaborator agent what it should do and how it should interact with users. */
    instruction: string;
    /** The number of seconds for which the Amazon Bedrock keeps information about the user's conversation with the inline collaborator agent. A user interaction remains active for the amount of time specifie */
    idleSessionTTLInSeconds?: number;
    /** List of action groups with each action group defining tasks the inline collaborator agent needs to carry out. */
    actionGroups?: any[];
    /** Knowledge base associated with the inline collaborator agent. */
    knowledgeBases?: any[];
    /** Details of the guardwrail associated with the inline collaborator. */
    guardrailConfiguration?: any;
    /** Contains configurations to override prompt templates in different parts of an inline collaborator sequence. For more information, see Advanced prompts. */
    promptOverrideConfiguration?: any;
    /** Defines how the inline supervisor agent handles information across multiple collaborator agents to coordinate a final response. */
    agentCollaboration?: 'SUPERVISOR' | 'SUPERVISOR_ROUTER' | 'DISABLED';
    /** Settings of the collaborator agent. */
    collaboratorConfigurations?: any[];
    /** Name of the inline collaborator agent which must be the same name as specified for collaboratorName. */
    agentName?: string;
}
export interface InlineBedrockModelConfigurations {
    /** The latency configuration for the model. */
    performanceConfig?: PerformanceConfiguration;
}
export interface CustomOrchestration {
    /** The structure of the executor invoking the actions in custom orchestration. */
    executor?: {
        lambda?: string;
    };
}
export interface TextPrompt {
    /** The text in the text prompt to optimize. */
    text: string;
}
export interface RerankQuery {
    /** The type of the query. */
    type: 'TEXT';
    /** Contains information about a text query. */
    textQuery: any;
}
export interface RerankSource {
    /** The type of the source. */
    type: 'INLINE';
    /** Contains an inline definition of a source for reranking. */
    inlineDocumentSource: any;
}
export interface BedrockRerankingConfiguration {
    /** The number of results to return after reranking. */
    numberOfResults?: number;
    /** Contains configurations for a reranker model. */
    modelConfiguration: any;
}
export interface RerankingConfiguration {
    /** The type of reranker that the configurations apply to. */
    type: 'BEDROCK_RERANKING_MODEL';
    /** Contains configurations for an Amazon Bedrock reranker. */
    bedrockRerankingConfiguration: BedrockRerankingConfiguration;
}
export interface InputImage {
    /** The format of the input image. Supported formats include png, gif, jpeg, and webp. */
    format: 'png' | 'jpeg' | 'gif' | 'webp';
    /** The base64-encoded image data for inline image content. Maximum size is 5MB. */
    inlineContent: string;
}
export interface KnowledgeBaseQuery {
    /** The type of query being performed. */
    type?: 'TEXT' | 'IMAGE';
    /** The text of the query made to the knowledge base. */
    text?: string;
    /** An image to include in the knowledge base query for multimodal retrieval. */
    image?: InputImage;
}
export interface KnowledgeBaseVectorSearchConfiguration {
    /** The number of source chunks to retrieve. */
    numberOfResults?: number;
    /** By default, Amazon Bedrock decides a search strategy for you. If you're using an Amazon OpenSearch Serverless vector store that contains a filterable text field, you can specify whether to query the k */
    overrideSearchType?: 'HYBRID' | 'SEMANTIC';
    /** Specifies the filters to use on the metadata in the knowledge base data sources before returning results. For more information, see Query configurations. */
    filter?: any;
    /** Contains configurations for reranking the retrieved results. For more information, see Improve the relevance of query responses with a reranker model. */
    rerankingConfiguration?: any;
    /** Settings for implicit filtering. */
    implicitFilterConfiguration?: any;
}
export interface KnowledgeBaseRetrievalConfiguration {
    /** Contains details about how the results from the vector search should be returned. For more information, see Query configurations. */
    vectorSearchConfiguration: KnowledgeBaseVectorSearchConfiguration;
}
export interface GuardrailConfiguration {
    /** The unique identifier for the guardrail. */
    guardrailId: string;
    /** The version of the guardrail. */
    guardrailVersion: string;
}
export interface RetrieveAndGenerateInput {
    /** The query made to the knowledge base, in characters. */
    text: string;
}
export interface KnowledgeBaseRetrieveAndGenerateConfiguration {
    /** The unique identifier of the knowledge base that is queried. */
    knowledgeBaseId: string;
    /** The ARN of the foundation model or inference profile used to generate a response. */
    modelArn: string;
    /** Contains configurations for how to retrieve and return the knowledge base query. */
    retrievalConfiguration?: any;
    /** Contains configurations for response generation based on the knowledge base query results. */
    generationConfiguration?: any;
    /** Settings for how the model processes the prompt prior to retrieval and generation. */
    orchestrationConfiguration?: any;
}
export interface ExternalSourcesRetrieveAndGenerateConfiguration {
    /** The model Amazon Resource Name (ARN) for the external source wrapper object in the retrieveAndGenerate function. */
    modelArn: string;
    /** The document for the external source wrapper object in the retrieveAndGenerate function. */
    sources: any[];
    /** The prompt used with the external source wrapper object with the retrieveAndGenerate function. */
    generationConfiguration?: any;
}
export interface RetrieveAndGenerateConfiguration {
    /** The type of resource that contains your data for retrieving information and generating responses. If you choose to use EXTERNAL_SOURCES, then currently only Anthropic Claude 3 Sonnet models for knowle */
    type: 'KNOWLEDGE_BASE' | 'EXTERNAL_SOURCES';
    /** Contains details about the knowledge base for retrieving information and generating responses. */
    knowledgeBaseConfiguration?: KnowledgeBaseRetrieveAndGenerateConfiguration;
    /** The configuration for the external source wrapper object in the retrieveAndGenerate function. */
    externalSourcesConfiguration?: ExternalSourcesRetrieveAndGenerateConfiguration;
}
export interface RetrieveAndGenerateSessionConfiguration {
    /** The ARN of the KMS key encrypting the session. */
    kmsKeyArn: string;
}
export interface CreateInvocationInput {
    /** The unique identifier for the associated session for the invocation. You can specify either the session's sessionId or its Amazon Resource Name (ARN). */
    sessionIdentifier: string;
    /** A description for the interactions in the invocation. For example, "User asking about weather in Seattle". */
    description?: string;
    /** A unique identifier for the invocation in UUID format. */
    invocationId?: string;
}
export interface CreateSessionInput {
    /** The Amazon Resource Name (ARN) of the KMS key to use to encrypt the session data. The user or role creating the session must have permission to use the key. For more information, see Amazon Bedrock se */
    encryptionKeyArn?: string;
    /** A map of key-value pairs containing attributes to be persisted across the session. For example, the user's ID, their language preference, and the type of device they are using. */
    sessionMetadata?: Record<string, string>;
    /** Specify the key-value pairs for the tags that you want to attach to the session. */
    tags?: Record<string, string>;
}
export interface DeleteAgentMemoryInput {
    /** The unique identifier of an alias of an agent. */
    agentAliasId: string;
    /** The unique identifier of the agent to which the alias belongs. */
    agentId: string;
    /** The unique identifier of the memory. */
    memoryId?: string;
    /** The unique session identifier of the memory. */
    sessionId?: string;
}
export interface DeleteSessionInput {
    /** The unique identifier for the session to be deleted. You can specify either the session's sessionId or its Amazon Resource Name (ARN). */
    sessionIdentifier: string;
}
export interface EndSessionInput {
    /** The unique identifier for the session to end. You can specify either the session's sessionId or its Amazon Resource Name (ARN). */
    sessionIdentifier: string;
}
export interface GenerateQueryInput {
    /** Specifies information about a natural language query to transform into SQL. */
    queryGenerationInput: QueryGenerationInput;
    /** Specifies configurations for transforming the natural language query into SQL. */
    transformationConfiguration: TransformationConfiguration;
}
export interface GetAgentMemoryInput {
    /** The unique identifier of an alias of an agent. */
    agentAliasId: string;
    /** The unique identifier of the agent to which the alias belongs. */
    agentId: string;
    /** The unique identifier of the memory. */
    memoryId: string;
    /** The type of memory. */
    memoryType: 'SESSION_SUMMARY';
    /** The maximum number of items 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 requ */
    maxItems?: number;
    /** If the total number of results is greater than the maxItems 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 res */
    nextToken?: string;
}
export interface GetExecutionFlowSnapshotInput {
    /** The unique identifier of the flow execution. */
    executionIdentifier: string;
    /** The unique identifier of the flow alias used for the flow execution. */
    flowAliasIdentifier: string;
    /** The unique identifier of the flow. */
    flowIdentifier: string;
}
export interface GetFlowExecutionInput {
    /** The unique identifier of the flow execution to retrieve. */
    executionIdentifier: string;
    /** The unique identifier of the flow alias used for the execution. */
    flowAliasIdentifier: string;
    /** The unique identifier of the flow. */
    flowIdentifier: string;
}
export interface GetInvocationStepInput {
    /** The unique identifier for the invocation in UUID format. */
    invocationIdentifier: string;
    /** The unique identifier (in UUID format) for the specific invocation step to retrieve. */
    invocationStepId: string;
    /** The unique identifier for the invocation step's associated session. You can specify either the session's sessionId or its Amazon Resource Name (ARN). */
    sessionIdentifier: string;
}
export interface GetSessionInput {
    /** A unique identifier for the session to retrieve. You can specify either the session's sessionId or its Amazon Resource Name (ARN). */
    sessionIdentifier: string;
}
export interface InvokeAgentInput {
    /** The alias of the agent to use. */
    agentAliasId: string;
    /** The unique identifier of the agent to use. */
    agentId: string;
    /** The unique identifier of the session. Use the same value across requests to continue the same conversation. */
    sessionId: string;
    /** Model performance settings for the request. */
    bedrockModelConfigurations?: BedrockModelConfigurations;
    /** Specifies whether to turn on the trace or not to track the agent's reasoning process. For more information, see Trace enablement. */
    enableTrace?: boolean;
    /** Specifies whether to end the session with the agent or not. */
    endSession?: boolean;
    /** The prompt text to send the agent. If you include returnControlInvocationResults in the sessionState field, the inputText field will be ignored. */
    inputText?: string;
    /** The unique identifier of the agent memory. */
    memoryId?: string;
    /** Specifies parameters that control how the service populates the agent prompt for an InvokeAgent request. You can control which aspects of previous invocations in the same agent session the service use */
    promptCreationConfigurations?: PromptCreationConfigurations;
    /** Contains parameters that specify various attributes of the session. For more information, see Control session context. If you include returnControlInvocationResults in the sessionState field, the inpu */
    sessionState?: SessionState;
    /** The ARN of the resource making the request. */
    sourceArn?: string;
    /** Specifies the configurations for streaming. To use agent streaming, you need permissions to perform the bedrock:InvokeModelWithResponseStream action. */
    streamingConfigurations?: StreamingConfigurations;
}
export interface InvokeFlowInput {
    /** The unique identifier of the flow alias. */
    flowAliasIdentifier: string;
    /** The unique identifier of the flow. */
    flowIdentifier: string;
    /** A list of objects, each containing information about an input into the flow. */
    inputs: FlowInput[];
    /** Specifies whether to return the trace for the flow or not. Traces track inputs and outputs for nodes in the flow. For more information, see Track each step in your prompt flow by viewing its trace in  */
    enableTrace?: boolean;
    /** The unique identifier for the current flow execution. If you don't provide a value, Amazon Bedrock creates the identifier for you. */
    executionId?: string;
    /** Model performance settings for the request. */
    modelPerformanceConfiguration?: ModelPerformanceConfiguration;
}
export interface InvokeInlineAgentInput {
    /** The model identifier (ID) of the model to use for orchestration by the inline agent. For example, meta.llama3-1-70b-instruct-v1:0. */
    foundationModel: string;
    /** The instructions that tell the inline agent what it should do and how it should interact with users. */
    instruction: string;
    /** The unique identifier of the session. Use the same value across requests to continue the same conversation. */
    sessionId: string;
    /** A list of action groups with each action group defining the action the inline agent needs to carry out. */
    actionGroups?: AgentActionGroup[];
    /** Defines how the inline collaborator agent handles information across multiple collaborator agents to coordinate a final response. The inline collaborator agent can also be the supervisor. */
    agentCollaboration?: 'SUPERVISOR' | 'SUPERVISOR_ROUTER' | 'DISABLED';
    /** The name for the agent. */
    agentName?: string;
    /** Model settings for the request. */
    bedrockModelConfigurations?: InlineBedrockModelConfigurations;
    /** Settings for an inline agent collaborator called with InvokeInlineAgent. */
    collaboratorConfigurations?: CollaboratorConfiguration[];
    /** List of collaborator inline agents. */
    collaborators?: Collaborator[];
    /** The Amazon Resource Name (ARN) of the Amazon Web Services KMS key to use to encrypt your inline agent. */
    customerEncryptionKeyArn?: string;
    /** Contains details of the custom orchestration configured for the agent. */
    customOrchestration?: CustomOrchestration;
    /** Specifies whether to turn on the trace or not to track the agent's reasoning process. For more information, see Using trace. */
    enableTrace?: boolean;
    /** Specifies whether to end the session with the inline agent or not. */
    endSession?: boolean;
    /** The guardrails to assign to the inline agent. */
    guardrailConfiguration?: GuardrailConfigurationWithArn;
    /** The number of seconds for which the inline agent should maintain session information. After this time expires, the subsequent InvokeInlineAgent request begins a new session. A user interaction remains */
    idleSessionTTLInSeconds?: number;
    /** Parameters that specify the various attributes of a sessions. You can include attributes for the session or prompt or, if you configured an action group to return control, results from invocation of t */
    inlineSessionState?: InlineSessionState;
    /** The prompt text to send to the agent. If you include returnControlInvocationResults in the sessionState field, the inputText field will be ignored. */
    inputText?: string;
    /** Contains information of the knowledge bases to associate with. */
    knowledgeBases?: KnowledgeBase[];
    /** Specifies the type of orchestration strategy for the agent. This is set to DEFAULT orchestration type, by default. */
    orchestrationType?: 'DEFAULT' | 'CUSTOM_ORCHESTRATION';
    /** Specifies parameters that control how the service populates the agent prompt for an InvokeInlineAgent request. You can control which aspects of previous invocations in the same agent session the servi */
    promptCreationConfigurations?: PromptCreationConfigurations;
    /** Configurations for advanced prompts used to override the default prompts to enhance the accuracy of the inline agent. */
    promptOverrideConfiguration?: PromptOverrideConfiguration;
    /** Specifies the configurations for streaming. To use agent streaming, you need permissions to perform the bedrock:InvokeModelWithResponseStream action. */
    streamingConfigurations?: StreamingConfigurations;
}
export interface ListFlowExecutionEventsInput {
    /** The type of events to retrieve. Specify Node for node-level events or Flow for flow-level events. */
    eventType: 'Node' | 'Flow';
    /** The unique identifier of the flow execution. */
    executionIdentifier: string;
    /** The unique identifier of the flow alias used for the execution. */
    flowAliasIdentifier: string;
    /** The unique identifier of the flow. */
    flowIdentifier: string;
    /** The maximum number of events to return in a single response. If more events exist than the specified maxResults value, a token is included in the response so that the remaining results can be retrieve */
    maxResults?: number;
    /** A token to retrieve the next set of results. This value is returned in the response if more results are available. */
    nextToken?: string;
}
export interface ListFlowExecutionsInput {
    /** The unique identifier of the flow to list executions for. */
    flowIdentifier: string;
    /** The unique identifier of the flow alias to list executions for. */
    flowAliasIdentifier?: string;
    /** The maximum number of flow executions to return in a single response. If more executions exist than the specified maxResults value, a token is included in the response so that the remaining results ca */
    maxResults?: number;
    /** A token to retrieve the next set of results. This value is returned in the response if more results are available. */
    nextToken?: string;
}
export interface ListInvocationsInput {
    /** The unique identifier for the session to list invocations for. You can specify either the session's sessionId or its Amazon Resource Name (ARN). */
    sessionIdentifier: 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 ListInvocationStepsInput {
    /** The unique identifier for the session associated with the invocation steps. You can specify either the session's sessionId or its Amazon Resource Name (ARN). */
    sessionIdentifier: string;
    /** The unique identifier (in UUID format) for the invocation to list invocation steps for. */
    invocationIdentifier?: 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 ListSessionsInput {
    /** 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 ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource for which to list tags. */
    resourceArn: string;
}
export interface OptimizePromptInput {
    /** Contains the prompt to optimize. */
    input: {
        textPrompt?: TextPrompt;
    };
    /** The unique identifier of the model that you want to optimize the prompt for. */
    targetModelId: string;
}
export interface PutInvocationStepInput {
    /** The unique identifier (in UUID format) of the invocation to add the invocation step to. */
    invocationIdentifier: string;
    /** The timestamp for when the invocation step occurred. */
    invocationStepTime: string;
    /** The payload for the invocation step, including text and images for the interaction. */
    payload: {
        contentBlocks?: any[];
    };
    /** The unique identifier for the session to add the invocation step to. You can specify either the session's sessionId or its Amazon Resource Name (ARN). */
    sessionIdentifier: string;
    /** The unique identifier of the invocation step in UUID format. */
    invocationStepId?: string;
}
export interface RerankInput {
    /** An array of objects, each of which contains information about a query to submit to the reranker model. */
    queries: RerankQuery[];
    /** Contains configurations for reranking. */
    rerankingConfiguration: RerankingConfiguration;
    /** An array of objects, each of which contains information about the sources to rerank. */
    sources: RerankSource[];
    /** If the total number of results was greater than could fit in a response, a token is returned in the nextToken field. You can enter that token in this field to return the next batch of results. */
    nextToken?: string;
}
export interface RetrieveInput {
    /** The unique identifier of the knowledge base to query. */
    knowledgeBaseId: string;
    /** Contains the query to send the knowledge base. */
    retrievalQuery: KnowledgeBaseQuery;
    /** Guardrail settings. */
    guardrailConfiguration?: GuardrailConfiguration;
    /** If there are more results than can fit in the response, the response returns a nextToken. Use this token in the nextToken field of another request to retrieve the next batch of results. */
    nextToken?: string;
    /** Contains configurations for the knowledge base query and retrieval process. For more information, see Query configurations. */
    retrievalConfiguration?: KnowledgeBaseRetrievalConfiguration;
}
export interface RetrieveAndGenerateInput {
    /** Contains the query to be made to the knowledge base. */
    input: RetrieveAndGenerateInput;
    /** Contains configurations for the knowledge base query and retrieval process. For more information, see Query configurations. */
    retrieveAndGenerateConfiguration?: RetrieveAndGenerateConfiguration;
    /** Contains details about the session with the knowledge base. */
    sessionConfiguration?: RetrieveAndGenerateSessionConfiguration;
    /** The unique identifier of the session. When you first make a RetrieveAndGenerate request, Amazon Bedrock automatically generates this value. You must reuse this value for all subsequent requests in the */
    sessionId?: string;
}
export interface RetrieveAndGenerateStreamInput {
    /** Contains the query to be made to the knowledge base. */
    input: RetrieveAndGenerateInput;
    /** Contains configurations for the knowledge base query and retrieval process. For more information, see Query configurations. */
    retrieveAndGenerateConfiguration?: RetrieveAndGenerateConfiguration;
    /** Contains details about the session with the knowledge base. */
    sessionConfiguration?: RetrieveAndGenerateSessionConfiguration;
    /** The unique identifier of the session. When you first make a RetrieveAndGenerate request, Amazon Bedrock automatically generates this value. You must reuse this value for all subsequent requests in the */
    sessionId?: string;
}
export interface StartFlowExecutionInput {
    /** The unique identifier of the flow alias to use for the flow execution. */
    flowAliasIdentifier: string;
    /** The unique identifier of the flow to execute. */
    flowIdentifier: string;
    /** The input data required for the flow execution. This must match the input schema defined in the flow. */
    inputs: FlowInput[];
    /** The unique name for the flow execution. If you don't provide one, a system-generated name is used. */
    flowExecutionName?: string;
    /** The performance settings for the foundation model used in the flow execution. */
    modelPerformanceConfiguration?: ModelPerformanceConfiguration;
}
export interface StopFlowExecutionInput {
    /** The unique identifier of the flow execution to stop. */
    executionIdentifier: string;
    /** The unique identifier of the flow alias used for the execution. */
    flowAliasIdentifier: string;
    /** The unique identifier of the flow. */
    flowIdentifier: 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 UpdateSessionInput {
    /** The unique identifier of the session to modify. You can specify either the session's sessionId or its Amazon Resource Name (ARN). */
    sessionIdentifier: string;
    /** A map of key-value pairs containing attributes to be persisted across the session. For example the user's ID, their language preference, and the type of device they are using. */
    sessionMetadata?: Record<string, string>;
}
/** Bedrock Agent Runtime service binding for Step Functions SDK integrations. */
export declare class BedrockAgentRuntime {
    constructor();
    createInvocation<T>(params: CreateInvocationInput): Promise<T>;
    createSession<T>(params: CreateSessionInput): Promise<T>;
    deleteAgentMemory<T>(params: DeleteAgentMemoryInput): Promise<T>;
    deleteSession<T>(params: DeleteSessionInput): Promise<T>;
    endSession<T>(params: EndSessionInput): Promise<T>;
    generateQuery<T>(params: GenerateQueryInput): Promise<T>;
    getAgentMemory<T>(params: GetAgentMemoryInput): Promise<T>;
    getExecutionFlowSnapshot<T>(params: GetExecutionFlowSnapshotInput): Promise<T>;
    getFlowExecution<T>(params: GetFlowExecutionInput): Promise<T>;
    getInvocationStep<T>(params: GetInvocationStepInput): Promise<T>;
    getSession<T>(params: GetSessionInput): Promise<T>;
    invokeAgent<T>(params: InvokeAgentInput): Promise<T>;
    invokeFlow<T>(params: InvokeFlowInput): Promise<T>;
    invokeInlineAgent<T>(params: InvokeInlineAgentInput): Promise<T>;
    listFlowExecutionEvents<T>(params: ListFlowExecutionEventsInput): Promise<T>;
    listFlowExecutions<T>(params: ListFlowExecutionsInput): Promise<T>;
    listInvocations<T>(params: ListInvocationsInput): Promise<T>;
    listInvocationSteps<T>(params: ListInvocationStepsInput): Promise<T>;
    listSessions<T>(params: ListSessionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    optimizePrompt<T>(params: OptimizePromptInput): Promise<T>;
    putInvocationStep<T>(params: PutInvocationStepInput): Promise<T>;
    rerank<T>(params: RerankInput): Promise<T>;
    retrieve<T>(params: RetrieveInput): Promise<T>;
    retrieveAndGenerate<T>(params: RetrieveAndGenerateInput): Promise<T>;
    retrieveAndGenerateStream<T>(params: RetrieveAndGenerateStreamInput): Promise<T>;
    startFlowExecution<T>(params: StartFlowExecutionInput): Promise<T>;
    stopFlowExecution<T>(params: StopFlowExecutionInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateSession<T>(params: UpdateSessionInput): Promise<T>;
}
//# sourceMappingURL=BedrockAgentRuntime.d.ts.map