export interface DefinitionS3Location {
    /** The name of the Amazon S3 bucket that contains the workflow definition file. */
    Bucket: string;
    /** The key (name) of the workflow definition file within the S3 bucket. */
    ObjectKey: string;
    /** Optional. The version ID of the workflow definition file in Amazon S3. If not specified, the latest version is used. */
    VersionId?: string;
}
export interface EncryptionConfiguration {
    /** The type of encryption to use. Values are AWS_MANAGED_KEY (Amazon Web Services manages the encryption key) or CUSTOMER_MANAGED_KEY (you provide a KMS key). */
    Type: 'AWS_MANAGED_KEY' | 'CUSTOMER_MANAGED_KEY';
    /** The ID or ARN of the Amazon Web Services KMS key to use for encryption. Required when Type is CUSTOMER_MANAGED_KEY. */
    KmsKeyId?: string;
}
export interface LoggingConfiguration {
    /** The name of the CloudWatch log group where workflow execution logs are stored. */
    LogGroupName: string;
}
export interface NetworkConfiguration {
    /** A list of VPC security group IDs to associate with the workflow execution environment. */
    SecurityGroupIds?: string[];
    /** A list of VPC subnet IDs where the workflow execution environment is deployed. */
    SubnetIds?: string[];
}
export interface CreateWorkflowInput {
    /** The Amazon S3 location where the workflow definition file is stored. This must point to a valid YAML file that defines the workflow structure using supported Amazon Web Services operators and tasks. A */
    DefinitionS3Location: DefinitionS3Location;
    /** The name of the workflow. You must use unique workflow names within your Amazon Web Services account. The service generates a unique identifier that is appended to ensure temporal uniqueness across th */
    Name: string;
    /** The Amazon Resource Name (ARN) of the IAM role that Amazon Managed Workflows for Apache Airflow Serverless assumes when executing the workflow. This role must have the necessary permissions to access  */
    RoleArn: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token prevents duplicate workflow creation requests. */
    ClientToken?: string;
    /** An optional description of the workflow that you can use to provide additional context about the workflow's purpose and functionality. */
    Description?: string;
    /** The configuration for encrypting workflow data at rest and in transit. Specifies the encryption type and optional KMS key for customer-managed encryption. */
    EncryptionConfiguration?: EncryptionConfiguration;
    /** The version of the Amazon Managed Workflows for Apache Airflow Serverless engine that you want to use for this workflow. This determines the feature set, supported operators, and execution environment */
    EngineVersion?: number;
    /** The configuration for workflow logging. Specifies the CloudWatch log group where workflow execution logs are stored. Amazon Managed Workflows for Apache Airflow Serverless automatically exports worker */
    LoggingConfiguration?: LoggingConfiguration;
    /** Network configuration for the workflow execution environment, including VPC security groups and subnets for secure network access. When specified, Amazon Managed Workflows for Apache Airflow Serverles */
    NetworkConfiguration?: NetworkConfiguration;
    /** A map of tags to assign to the workflow resource. Tags are key-value pairs that are used for resource organization and cost allocation. */
    Tags?: Record<string, string>;
    /** The trigger mode for the workflow execution. */
    TriggerMode?: string;
}
export interface DeleteWorkflowInput {
    /** The Amazon Resource Name (ARN) of the workflow you want to delete. */
    WorkflowArn: string;
    /** Optional. The specific version of the workflow to delete. If not specified, all versions of the workflow are deleted. */
    WorkflowVersion?: string;
}
export interface GetTaskInstanceInput {
    /** The unique identifier of the workflow run that contains the task instance. */
    RunId: string;
    /** The unique identifier of the task instance to retrieve. */
    TaskInstanceId: string;
    /** The Amazon Resource Name (ARN) of the workflow that contains the task instance. */
    WorkflowArn: string;
}
export interface GetWorkflowInput {
    /** The Amazon Resource Name (ARN) of the workflow you want to retrieve. */
    WorkflowArn: string;
    /** Optional. The specific version of the workflow to retrieve. If not specified, the latest version is returned. */
    WorkflowVersion?: string;
}
export interface GetWorkflowRunInput {
    /** The unique identifier of the workflow run to retrieve. */
    RunId: string;
    /** The Amazon Resource Name (ARN) of the workflow that contains the run. */
    WorkflowArn: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource for which to list tags. */
    ResourceArn: string;
}
export interface ListTaskInstancesInput {
    /** The unique identifier of the workflow run for which you want a list of task instances. */
    RunId: string;
    /** The Amazon Resource Name (ARN) of the workflow that contains the run. */
    WorkflowArn: string;
    /** The maximum number of task instances to return in a single response. */
    MaxResults?: number;
    /** The pagination token you need to use to retrieve the next set of results. This value is returned from a previous call to ListTaskInstances. */
    NextToken?: string;
}
export interface ListWorkflowRunsInput {
    /** The Amazon Resource Name (ARN) of the workflow for which you want a list of runs. */
    WorkflowArn: string;
    /** The maximum number of workflow runs to return in a single response. */
    MaxResults?: number;
    /** The pagination token you need to use to retrieve the next set of results. This value is returned from a previous call to ListWorkflowRuns. */
    NextToken?: string;
    /** Optional. The specific version of the workflow for which you want a list of runs. If not specified, runs for all versions are returned. */
    WorkflowVersion?: string;
}
export interface ListWorkflowsInput {
    /** The maximum number of workflows you want to return in a single response. */
    MaxResults?: number;
    /** The pagination token you need to use to retrieve the next set of results. This value is returned from a previous call to ListWorkflows. */
    NextToken?: string;
}
export interface ListWorkflowVersionsInput {
    /** The Amazon Resource Name (ARN) of the workflow for which you want to list versions. */
    WorkflowArn: string;
    /** The maximum number of workflow versions to return in a single response. */
    MaxResults?: number;
    /** The pagination token you need to use to retrieve the next set of results. This value is returned from a previous call to ListWorkflowVersions. */
    NextToken?: string;
}
export interface StartWorkflowRunInput {
    /** The Amazon Resource Name (ARN) of the workflow you want to run. */
    WorkflowArn: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token prevents duplicate workflow run requests. */
    ClientToken?: string;
    /** Optional parameters to override default workflow parameters for this specific run. These parameters are passed to the workflow during execution and can be used to customize behavior without modifying  */
    OverrideParameters?: Record<string, any>;
    /** Optional. The specific version of the workflow to execute. If not specified, the latest version is used. */
    WorkflowVersion?: string;
}
export interface StopWorkflowRunInput {
    /** The unique identifier of the workflow run to stop. */
    RunId: string;
    /** The Amazon Resource Name (ARN) of the workflow that contains the run you want to stop. */
    WorkflowArn: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to which to add tags. */
    ResourceArn: string;
    /** A map of tags to add to the resource. Each tag consists of a key-value pair. */
    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 tag keys to remove from the resource. Only the keys are required; the values are ignored. */
    TagKeys: string[];
}
export interface UpdateWorkflowInput {
    /** The Amazon S3 location where the updated workflow definition file is stored. */
    DefinitionS3Location: DefinitionS3Location;
    /** The Amazon Resource Name (ARN) of the IAM role that Amazon Managed Workflows for Apache Airflow Serverless assumes when it executes the updated workflow. */
    RoleArn: string;
    /** The Amazon Resource Name (ARN) of the workflow you want to update. */
    WorkflowArn: string;
    /** An updated description for the workflow. */
    Description?: string;
    /** The version of the Amazon Managed Workflows for Apache Airflow Serverless engine that you want to use for the updated workflow. */
    EngineVersion?: number;
    /** Updated logging configuration for the workflow. */
    LoggingConfiguration?: LoggingConfiguration;
    /** Updated network configuration for the workflow execution environment. */
    NetworkConfiguration?: NetworkConfiguration;
    /** The trigger mode for the workflow execution. */
    TriggerMode?: string;
}
/** MWAA Serverless service binding for Step Functions SDK integrations. */
export declare class MWAAServerless {
    constructor();
    createWorkflow<T>(params: CreateWorkflowInput): Promise<T>;
    deleteWorkflow<T>(params: DeleteWorkflowInput): Promise<T>;
    getTaskInstance<T>(params: GetTaskInstanceInput): Promise<T>;
    getWorkflow<T>(params: GetWorkflowInput): Promise<T>;
    getWorkflowRun<T>(params: GetWorkflowRunInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listTaskInstances<T>(params: ListTaskInstancesInput): Promise<T>;
    listWorkflowRuns<T>(params: ListWorkflowRunsInput): Promise<T>;
    listWorkflows<T>(params: ListWorkflowsInput): Promise<T>;
    listWorkflowVersions<T>(params: ListWorkflowVersionsInput): Promise<T>;
    startWorkflowRun<T>(params: StartWorkflowRunInput): Promise<T>;
    stopWorkflowRun<T>(params: StopWorkflowRunInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateWorkflow<T>(params: UpdateWorkflowInput): Promise<T>;
}
//# sourceMappingURL=MWAAServerless.d.ts.map