import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Definition of AWS::Bedrock::Agent Resource Type
 */
export declare class Agent extends pulumi.CustomResource {
    /**
     * Get an existing Agent resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Agent;
    /**
     * Returns true if the given object is an instance of Agent.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Agent;
    /**
     * List of ActionGroups
     */
    readonly actionGroups: pulumi.Output<outputs.bedrock.AgentActionGroup[] | undefined>;
    /**
     * Arn representation of the Agent.
     */
    readonly agentArn: pulumi.Output<string>;
    /**
     * The agent's collaboration settings.
     */
    readonly agentCollaboration: pulumi.Output<enums.bedrock.AgentCollaboration | undefined>;
    /**
     * List of Agent Collaborators
     */
    readonly agentCollaborators: pulumi.Output<outputs.bedrock.AgentCollaborator[] | undefined>;
    /**
     * Identifier for a resource.
     */
    readonly agentId: pulumi.Output<string>;
    /**
     * Name for a resource.
     */
    readonly agentName: pulumi.Output<string>;
    /**
     * ARN of a IAM role.
     */
    readonly agentResourceRoleArn: pulumi.Output<string | undefined>;
    /**
     * The status of the agent and whether it is ready for use. The following statuses are possible:
     *
     * - CREATING – The agent is being created.
     * - PREPARING – The agent is being prepared.
     * - PREPARED – The agent is prepared and ready to be invoked.
     * - NOT_PREPARED – The agent has been created but not yet prepared.
     * - FAILED – The agent API operation failed.
     * - UPDATING – The agent is being updated.
     * - DELETING – The agent is being deleted.
     */
    readonly agentStatus: pulumi.Output<enums.bedrock.AgentStatus>;
    /**
     * Draft Agent Version.
     */
    readonly agentVersion: pulumi.Output<string>;
    /**
     * Specifies whether to automatically prepare after creating or updating the agent.
     */
    readonly autoPrepare: pulumi.Output<boolean | undefined>;
    /**
     * Time Stamp.
     */
    readonly createdAt: pulumi.Output<string>;
    /**
     * Contains custom orchestration configurations for the agent.
     */
    readonly customOrchestration: pulumi.Output<outputs.bedrock.AgentCustomOrchestration | undefined>;
    /**
     * A KMS key ARN
     */
    readonly customerEncryptionKeyArn: pulumi.Output<string | undefined>;
    /**
     * Description of the Resource.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * Failure Reasons for Error.
     */
    readonly failureReasons: pulumi.Output<string[]>;
    /**
     * The foundation model used for orchestration by the agent.
     */
    readonly foundationModel: pulumi.Output<string | undefined>;
    /**
     * Details about the guardrail associated with the agent.
     */
    readonly guardrailConfiguration: pulumi.Output<outputs.bedrock.AgentGuardrailConfiguration | undefined>;
    /**
     * Max Session Time.
     */
    readonly idleSessionTtlInSeconds: pulumi.Output<number | undefined>;
    /**
     * Instruction for the agent.
     */
    readonly instruction: pulumi.Output<string | undefined>;
    /**
     * List of Agent Knowledge Bases
     */
    readonly knowledgeBases: pulumi.Output<outputs.bedrock.AgentKnowledgeBase[] | undefined>;
    /**
     * Contains memory configuration for the agent.
     */
    readonly memoryConfiguration: pulumi.Output<outputs.bedrock.AgentMemoryConfiguration | undefined>;
    /**
     * Specifies the orchestration strategy for the agent.
     */
    readonly orchestrationType: pulumi.Output<enums.bedrock.AgentOrchestrationType | undefined>;
    /**
     * Time Stamp.
     */
    readonly preparedAt: pulumi.Output<string>;
    /**
     * Contains configurations to override prompt templates in different parts of an agent sequence. For more information, see [Advanced prompts](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html) .
     */
    readonly promptOverrideConfiguration: pulumi.Output<outputs.bedrock.AgentPromptOverrideConfiguration | undefined>;
    /**
     * The recommended actions users can take to resolve an error in failureReasons.
     */
    readonly recommendedActions: pulumi.Output<string[]>;
    /**
     * Specifies whether to allow deleting agent while it is in use.
     */
    readonly skipResourceInUseCheckOnDelete: pulumi.Output<boolean | undefined>;
    /**
     * Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:
     *
     * - [Tag naming limits and requirements](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)
     * - [Tagging best practices](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:
     *
     * - [Tag naming limits and requirements](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)
     * - [Tagging best practices](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)
     */
    readonly testAliasTags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Time Stamp.
     */
    readonly updatedAt: pulumi.Output<string>;
    /**
     * Create a Agent resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args?: AgentArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Agent resource.
 */
export interface AgentArgs {
    /**
     * List of ActionGroups
     */
    actionGroups?: pulumi.Input<pulumi.Input<inputs.bedrock.AgentActionGroupArgs>[]>;
    /**
     * The agent's collaboration settings.
     */
    agentCollaboration?: pulumi.Input<enums.bedrock.AgentCollaboration>;
    /**
     * List of Agent Collaborators
     */
    agentCollaborators?: pulumi.Input<pulumi.Input<inputs.bedrock.AgentCollaboratorArgs>[]>;
    /**
     * Name for a resource.
     */
    agentName?: pulumi.Input<string>;
    /**
     * ARN of a IAM role.
     */
    agentResourceRoleArn?: pulumi.Input<string>;
    /**
     * Specifies whether to automatically prepare after creating or updating the agent.
     */
    autoPrepare?: pulumi.Input<boolean>;
    /**
     * Contains custom orchestration configurations for the agent.
     */
    customOrchestration?: pulumi.Input<inputs.bedrock.AgentCustomOrchestrationArgs>;
    /**
     * A KMS key ARN
     */
    customerEncryptionKeyArn?: pulumi.Input<string>;
    /**
     * Description of the Resource.
     */
    description?: pulumi.Input<string>;
    /**
     * The foundation model used for orchestration by the agent.
     */
    foundationModel?: pulumi.Input<string>;
    /**
     * Details about the guardrail associated with the agent.
     */
    guardrailConfiguration?: pulumi.Input<inputs.bedrock.AgentGuardrailConfigurationArgs>;
    /**
     * Max Session Time.
     */
    idleSessionTtlInSeconds?: pulumi.Input<number>;
    /**
     * Instruction for the agent.
     */
    instruction?: pulumi.Input<string>;
    /**
     * List of Agent Knowledge Bases
     */
    knowledgeBases?: pulumi.Input<pulumi.Input<inputs.bedrock.AgentKnowledgeBaseArgs>[]>;
    /**
     * Contains memory configuration for the agent.
     */
    memoryConfiguration?: pulumi.Input<inputs.bedrock.AgentMemoryConfigurationArgs>;
    /**
     * Specifies the orchestration strategy for the agent.
     */
    orchestrationType?: pulumi.Input<enums.bedrock.AgentOrchestrationType>;
    /**
     * Contains configurations to override prompt templates in different parts of an agent sequence. For more information, see [Advanced prompts](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html) .
     */
    promptOverrideConfiguration?: pulumi.Input<inputs.bedrock.AgentPromptOverrideConfigurationArgs>;
    /**
     * Specifies whether to allow deleting agent while it is in use.
     */
    skipResourceInUseCheckOnDelete?: pulumi.Input<boolean>;
    /**
     * Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:
     *
     * - [Tag naming limits and requirements](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)
     * - [Tagging best practices](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:
     *
     * - [Tag naming limits and requirements](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)
     * - [Tagging best practices](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)
     */
    testAliasTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
}
