export interface ToolSpec {
    /** The unique name of the tool that acts will use to invoke it. */
    name: string;
    /** A description of what the tool does and how it should be used. */
    description: string;
    /** The JSON schema that defines the expected input format for the tool. */
    inputSchema: any;
}
export interface WorkflowExportConfig {
    /** The name of your Amazon S3 bucket, that Nova Act uses to export your workflow data. Note that the IAM role used to access Nova Act must also have write permissions to this bucket. */
    s3BucketName: string;
    /** An optional prefix for Amazon S3 object keys to organize exported data. */
    s3KeyPrefix?: string;
}
export interface ClientInfo {
    /** The compatibility version of the client, used to ensure API compatibility. */
    compatibilityVersion: number;
    /** The version of the SDK being used by the client. */
    sdkVersion?: string;
}
export interface CallResult {
    /** The identifier of the tool call that this result corresponds to. */
    callId?: string;
    /** The content returned by the tool execution, which can include text or other media types. */
    content: any[];
}
export interface ActError {
    /** A human-readable description of the error that occurred. */
    message: string;
    /** The type or category of error that occurred. */
    type?: string;
}
export interface CreateActInput {
    /** The unique identifier of the session to create the act in. */
    sessionId: string;
    /** The task description that defines what the act should accomplish. */
    task: string;
    /** The name of the workflow definition containing the session. */
    workflowDefinitionName: string;
    /** The unique identifier of the workflow run containing the session. */
    workflowRunId: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    clientToken?: string;
    /** A list of tool specifications that the act can invoke to complete its task. */
    toolSpecs?: ToolSpec[];
}
export interface CreateSessionInput {
    /** The name of the workflow definition containing the workflow run. */
    workflowDefinitionName: string;
    /** The unique identifier of the workflow run to create the session in. */
    workflowRunId: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    clientToken?: string;
}
export interface CreateWorkflowDefinitionInput {
    /** The name of the workflow definition. Must be unique within your account and region. */
    name: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    clientToken?: string;
    /** An optional description of the workflow definition's purpose and functionality. */
    description?: string;
    /** Configuration for exporting workflow execution data to Amazon Simple Storage Service. */
    exportConfig?: WorkflowExportConfig;
}
export interface CreateWorkflowRunInput {
    /** Information about the client making the request, including compatibility version and SDK version. */
    clientInfo: ClientInfo;
    /** The ID of the AI model to use for workflow execution. */
    modelId: string;
    /** The name of the workflow definition to execute. */
    workflowDefinitionName: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    clientToken?: string;
    /** The CloudWatch log group name for storing workflow execution logs. */
    logGroupName?: string;
}
export interface DeleteWorkflowDefinitionInput {
    /** The name of the workflow definition to delete. */
    workflowDefinitionName: string;
}
export interface DeleteWorkflowRunInput {
    /** The name of the workflow definition containing the workflow run. */
    workflowDefinitionName: string;
    /** The unique identifier of the workflow run to delete. */
    workflowRunId: string;
}
export interface GetWorkflowDefinitionInput {
    /** The name of the workflow definition to retrieve. */
    workflowDefinitionName: string;
}
export interface GetWorkflowRunInput {
    /** The name of the workflow definition containing the workflow run. */
    workflowDefinitionName: string;
    /** The unique identifier of the workflow run to retrieve. */
    workflowRunId: string;
}
export interface InvokeActStepInput {
    /** The unique identifier of the act to invoke the next step for. */
    actId: string;
    /** The results from previous tool calls that the act requested. */
    callResults: CallResult[];
    /** The unique identifier of the session containing the act. */
    sessionId: string;
    /** The name of the workflow definition containing the act. */
    workflowDefinitionName: string;
    /** The unique identifier of the workflow run containing the act. */
    workflowRunId: string;
    /** The identifier of the previous step, used for tracking execution flow. */
    previousStepId?: string;
}
export interface ListActsInput {
    /** The name of the workflow definition containing the session. */
    workflowDefinitionName: string;
    /** The maximum number of acts to return in a single response. */
    maxResults?: number;
    /** The token for retrieving the next page of results. */
    nextToken?: string;
    /** The unique identifier of the session to list acts for. */
    sessionId?: string;
    /** The sort order for the returned acts (ascending or descending). */
    sortOrder?: 'Ascending' | 'Descending';
    /** The unique identifier of the workflow run containing the session. */
    workflowRunId?: string;
}
export interface ListModelsInput {
    /** The client compatibility version to filter models by compatibility. */
    clientCompatibilityVersion: number;
}
export interface ListSessionsInput {
    /** The name of the workflow definition containing the workflow run. */
    workflowDefinitionName: string;
    /** The unique identifier of the workflow run to list sessions for. */
    workflowRunId: string;
    /** The maximum number of sessions to return in a single response. */
    maxResults?: number;
    /** The token for retrieving the next page of results. */
    nextToken?: string;
    /** The sort order for the returned sessions (ascending or descending). */
    sortOrder?: 'Ascending' | 'Descending';
}
export interface ListWorkflowDefinitionsInput {
    /** The maximum number of workflow definitions to return in a single response. */
    maxResults?: number;
    /** The token for retrieving the next page of results. */
    nextToken?: string;
    /** The sort order for the returned workflow definitions (ascending or descending). */
    sortOrder?: 'Ascending' | 'Descending';
}
export interface ListWorkflowRunsInput {
    /** The name of the workflow definition to list workflow runs for. */
    workflowDefinitionName: string;
    /** The maximum number of workflow runs to return in a single response. */
    maxResults?: number;
    /** The token for retrieving the next page of results. */
    nextToken?: string;
    /** The sort order for the returned workflow runs (ascending or descending). */
    sortOrder?: 'Ascending' | 'Descending';
}
export interface UpdateActInput {
    /** The unique identifier of the act to update. */
    actId: string;
    /** The unique identifier of the session containing the act. */
    sessionId: string;
    /** The new status to set for the act. */
    status: 'RUNNING' | 'PENDING_CLIENT_ACTION' | 'PENDING_HUMAN_ACTION' | 'SUCCEEDED' | 'FAILED' | 'TIMED_OUT';
    /** The name of the workflow definition containing the act. */
    workflowDefinitionName: string;
    /** The unique identifier of the workflow run containing the act. */
    workflowRunId: string;
    /** Error information to associate with the act, if applicable. */
    error?: ActError;
}
export interface UpdateWorkflowRunInput {
    /** The new status to set for the workflow run. */
    status: 'RUNNING' | 'SUCCEEDED' | 'FAILED' | 'TIMED_OUT' | 'DELETING';
    /** The name of the workflow definition containing the workflow run. */
    workflowDefinitionName: string;
    /** The unique identifier of the workflow run to update. */
    workflowRunId: string;
}
/** Nova Act service binding for Step Functions SDK integrations. */
export declare class NovaAct {
    constructor();
    createAct<T>(params: CreateActInput): Promise<T>;
    createSession<T>(params: CreateSessionInput): Promise<T>;
    createWorkflowDefinition<T>(params: CreateWorkflowDefinitionInput): Promise<T>;
    createWorkflowRun<T>(params: CreateWorkflowRunInput): Promise<T>;
    deleteWorkflowDefinition<T>(params: DeleteWorkflowDefinitionInput): Promise<T>;
    deleteWorkflowRun<T>(params: DeleteWorkflowRunInput): Promise<T>;
    getWorkflowDefinition<T>(params: GetWorkflowDefinitionInput): Promise<T>;
    getWorkflowRun<T>(params: GetWorkflowRunInput): Promise<T>;
    invokeActStep<T>(params: InvokeActStepInput): Promise<T>;
    listActs<T>(params: ListActsInput): Promise<T>;
    listModels<T>(params: ListModelsInput): Promise<T>;
    listSessions<T>(params: ListSessionsInput): Promise<T>;
    listWorkflowDefinitions<T>(params: ListWorkflowDefinitionsInput): Promise<T>;
    listWorkflowRuns<T>(params: ListWorkflowRunsInput): Promise<T>;
    updateAct<T>(params: UpdateActInput): Promise<T>;
    updateWorkflowRun<T>(params: UpdateWorkflowRunInput): Promise<T>;
}
//# sourceMappingURL=NovaAct.d.ts.map