export interface HighAvailabilityConfig {
    /** The number of instances in a high availability configuration. The minimum possible value is 1 and the maximum is 100. */
    desiredCapacity: number;
}
export interface FileBatchJobIdentifier {
    /** The file name for the batch job identifier. */
    fileName: string;
    /** The relative path to the file name for the batch job identifier. */
    folderPath?: string;
}
export interface ScriptBatchJobIdentifier {
    /** The name of the script containing the batch job definition. */
    scriptName: string;
}
export interface S3BatchJobIdentifier {
    /** The Amazon S3 bucket that contains the batch job definitions. */
    bucket: string;
    /** The key prefix that specifies the path to the folder in the S3 bucket that has the batch job definitions. */
    keyPrefix?: string;
    /** Identifies the batch job definition. This identifier can also point to any batch job definition that already exists in the application or to one of the batch job definitions within the directory that  */
    identifier: any;
}
export interface RestartBatchJobIdentifier {
    /** The executionId from the StartBatchJob response when the job ran for the first time. */
    executionId: string;
    /** The step/procedure step information for a restart batch job operation. */
    jobStepRestartMarker: any;
}
export interface CancelBatchJobExecutionInput {
    /** The unique identifier of the application. */
    applicationId: string;
    /** The unique identifier of the batch job execution. */
    executionId: string;
    /** The Amazon Web Services Secrets Manager containing user's credentials for authentication and authorization for Cancel Batch Job Execution operation. */
    authSecretsManagerArn?: string;
}
export interface CreateApplicationInput {
    /** The application definition for this application. You can specify either inline JSON or an S3 bucket location. */
    definition: {
        s3Location?: string;
    } | {
        content?: string;
    };
    /** The type of the target platform for this application. */
    engineType: 'microfocus' | 'bluage';
    /** The unique identifier of the application. */
    name: string;
    /** A client token is a unique, case-sensitive string of up to 128 ASCII characters with ASCII values of 33-126 inclusive. It's generated by the client to ensure idempotent operations, allowing for safe r */
    clientToken?: string;
    /** The description of the application. */
    description?: string;
    /** The identifier of a customer managed key. */
    kmsKeyId?: string;
    /** The Amazon Resource Name (ARN) that identifies a role that the application uses to access Amazon Web Services resources that are not part of the application or are in a different Amazon Web Services a */
    roleArn?: string;
    /** A list of tags to apply to the application. */
    tags?: Record<string, string>;
}
export interface CreateDataSetExportTaskInput {
    /** The unique identifier of the application for which you want to export data sets. */
    applicationId: string;
    /** The data set export task configuration. */
    exportConfig: {
        s3Location?: string;
    } | {
        dataSets?: any[];
    };
    /** Unique, case-sensitive identifier you provide to ensure the idempotency of the request to create a data set export. The service generates the clientToken when the API call is triggered. The token expi */
    clientToken?: string;
    /** The identifier of a customer managed key. */
    kmsKeyId?: string;
}
export interface CreateDataSetImportTaskInput {
    /** The unique identifier of the application for which you want to import data sets. */
    applicationId: string;
    /** The data set import task configuration. */
    importConfig: {
        s3Location?: string;
    } | {
        dataSets?: any[];
    };
    /** Unique, case-sensitive identifier you provide to ensure the idempotency of the request to create a data set import. The service generates the clientToken when the API call is triggered. The token expi */
    clientToken?: string;
}
export interface CreateDeploymentInput {
    /** The application identifier. */
    applicationId: string;
    /** The version of the application to deploy. */
    applicationVersion: number;
    /** The identifier of the runtime environment where you want to deploy this application. */
    environmentId: string;
    /** Unique, case-sensitive identifier you provide to ensure the idempotency of the request to create a deployment. The service generates the clientToken when the API call is triggered. The token expires a */
    clientToken?: string;
}
export interface CreateEnvironmentInput {
    /** The engine type for the runtime environment. */
    engineType: 'microfocus' | 'bluage';
    /** The type of instance for the runtime environment. */
    instanceType: string;
    /** The name of the runtime environment. Must be unique within the account. */
    name: string;
    /** Unique, case-sensitive identifier you provide to ensure the idempotency of the request to create an environment. The service generates the clientToken when the API call is triggered. The token expires */
    clientToken?: string;
    /** The description of the runtime environment. */
    description?: string;
    /** The version of the engine type for the runtime environment. */
    engineVersion?: string;
    /** The details of a high availability configuration for this runtime environment. */
    highAvailabilityConfig?: HighAvailabilityConfig;
    /** The identifier of a customer managed key. */
    kmsKeyId?: string;
    /** The network type required for the runtime environment. */
    networkType?: 'ipv4' | 'dual';
    /** Configures the maintenance window that you want for the runtime environment. The maintenance window must have the format ddd:hh24:mi-ddd:hh24:mi and must be less than 24 hours. The following two examp */
    preferredMaintenanceWindow?: string;
    /** Specifies whether the runtime environment is publicly accessible. */
    publiclyAccessible?: boolean;
    /** The list of security groups for the VPC associated with this runtime environment. */
    securityGroupIds?: string[];
    /** Optional. The storage configurations for this runtime environment. */
    storageConfigurations?: {
        efs?: any;
    } | {
        fsx?: any;
    }[];
    /** The list of subnets associated with the VPC for this runtime environment. */
    subnetIds?: string[];
    /** The tags for the runtime environment. */
    tags?: Record<string, string>;
}
export interface DeleteApplicationInput {
    /** The unique identifier of the application you want to delete. */
    applicationId: string;
}
export interface DeleteApplicationFromEnvironmentInput {
    /** The unique identifier of the application you want to delete. */
    applicationId: string;
    /** The unique identifier of the runtime environment where the application was previously deployed. */
    environmentId: string;
}
export interface DeleteEnvironmentInput {
    /** The unique identifier of the runtime environment you want to delete. */
    environmentId: string;
}
export interface GetApplicationInput {
    /** The identifier of the application. */
    applicationId: string;
}
export interface GetApplicationVersionInput {
    /** The unique identifier of the application. */
    applicationId: string;
    /** The specific version of the application. */
    applicationVersion: number;
}
export interface GetBatchJobExecutionInput {
    /** The identifier of the application. */
    applicationId: string;
    /** The unique identifier of the batch job execution. */
    executionId: string;
}
export interface GetDataSetDetailsInput {
    /** The unique identifier of the application that this data set is associated with. */
    applicationId: string;
    /** The name of the data set. */
    dataSetName: string;
}
export interface GetDataSetExportTaskInput {
    /** The application identifier. */
    applicationId: string;
    /** The task identifier returned by the CreateDataSetExportTask operation. */
    taskId: string;
}
export interface GetDataSetImportTaskInput {
    /** The application identifier. */
    applicationId: string;
    /** The task identifier returned by the CreateDataSetImportTask operation. */
    taskId: string;
}
export interface GetDeploymentInput {
    /** The unique identifier of the application. */
    applicationId: string;
    /** The unique identifier for the deployment. */
    deploymentId: string;
}
export interface GetEnvironmentInput {
    /** The unique identifier of the runtime environment. */
    environmentId: string;
}
export interface ListApplicationsInput {
    /** The unique identifier of the runtime environment where the applications are deployed. */
    environmentId?: string;
    /** The maximum number of applications to return. */
    maxResults?: number;
    /** The names of the applications. */
    names?: string[];
    /** A pagination token to control the number of applications displayed in the list. */
    nextToken?: string;
}
export interface ListApplicationVersionsInput {
    /** The unique identifier of the application. */
    applicationId: string;
    /** The maximum number of application versions to return. */
    maxResults?: number;
    /** A pagination token returned from a previous call to this operation. This specifies the next item to return. To return to the beginning of the list, exclude this parameter. */
    nextToken?: string;
}
export interface ListBatchJobDefinitionsInput {
    /** The identifier of the application. */
    applicationId: string;
    /** The maximum number of batch job definitions to return. */
    maxResults?: number;
    /** A pagination token returned from a previous call to this operation. This specifies the next item to return. To return to the beginning of the list, exclude this parameter. */
    nextToken?: string;
    /** If the batch job definition is a FileBatchJobDefinition, the prefix allows you to search on the file names of FileBatchJobDefinitions. */
    prefix?: string;
}
export interface ListBatchJobExecutionsInput {
    /** The unique identifier of the application. */
    applicationId: string;
    /** The unique identifier of each batch job execution. */
    executionIds?: string[];
    /** The name of each batch job execution. */
    jobName?: string;
    /** The maximum number of batch job executions to return. */
    maxResults?: number;
    /** A pagination token to control the number of batch job executions displayed in the list. */
    nextToken?: string;
    /** The time after which the batch job executions started. */
    startedAfter?: string;
    /** The time before the batch job executions started. */
    startedBefore?: string;
    /** The status of the batch job executions. */
    status?: 'Submitting' | 'Holding' | 'Dispatching' | 'Running' | 'Cancelling' | 'Cancelled' | 'Succeeded' | 'Failed' | 'Purged' | 'Succeeded With Warning';
}
export interface ListBatchJobRestartPointsInput {
    /** The unique identifier of the application. */
    applicationId: string;
    /** The unique identifier of the batch job execution. */
    executionId: string;
    /** The Amazon Web Services Secrets Manager containing user's credentials for authentication and authorization for List Batch Job Restart Points operation. */
    authSecretsManagerArn?: string;
}
export interface ListDataSetExportHistoryInput {
    /** The unique identifier of the application. */
    applicationId: string;
    /** The maximum number of objects to return. */
    maxResults?: number;
    /** A pagination token returned from a previous call to this operation. This specifies the next item to return. To return to the beginning of the list, exclude this parameter. */
    nextToken?: string;
}
export interface ListDataSetImportHistoryInput {
    /** The unique identifier of the application. */
    applicationId: string;
    /** The maximum number of objects to return. */
    maxResults?: number;
    /** A pagination token returned from a previous call to this operation. This specifies the next item to return. To return to the beginning of the list, exclude this parameter. */
    nextToken?: string;
}
export interface ListDataSetsInput {
    /** The unique identifier of the application for which you want to list the associated data sets. */
    applicationId: string;
    /** The maximum number of objects to return. */
    maxResults?: number;
    /** Filter dataset name matching the specified pattern. Can use * and % as wild cards. */
    nameFilter?: string;
    /** A pagination token returned from a previous call to this operation. This specifies the next item to return. To return to the beginning of the list, exclude this parameter. */
    nextToken?: string;
    /** The prefix of the data set name, which you can use to filter the list of data sets. */
    prefix?: string;
}
export interface ListDeploymentsInput {
    /** The application identifier. */
    applicationId: string;
    /** The maximum number of objects to return. */
    maxResults?: number;
    /** A pagination token returned from a previous call to this operation. This specifies the next item to return. To return to the beginning of the list, exclude this parameter. */
    nextToken?: string;
}
export interface ListEngineVersionsInput {
    /** The type of target platform. */
    engineType?: 'microfocus' | 'bluage';
    /** The maximum number of objects to return. */
    maxResults?: number;
    /** A pagination token returned from a previous call to this operation. This specifies the next item to return. To return to the beginning of the list, exclude this parameter. */
    nextToken?: string;
}
export interface ListEnvironmentsInput {
    /** The engine type for the runtime environment. */
    engineType?: 'microfocus' | 'bluage';
    /** The maximum number of runtime environments to return. */
    maxResults?: number;
    /** The names of the runtime environments. Must be unique within the account. */
    names?: string[];
    /** A pagination token to control the number of runtime environments displayed in the list. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
}
export interface StartApplicationInput {
    /** The unique identifier of the application you want to start. */
    applicationId: string;
}
export interface StartBatchJobInput {
    /** The unique identifier of the application associated with this batch job. */
    applicationId: string;
    /** The unique identifier of the batch job. */
    batchJobIdentifier: {
        fileBatchJobIdentifier?: FileBatchJobIdentifier;
    } | {
        scriptBatchJobIdentifier?: ScriptBatchJobIdentifier;
    } | {
        s3BatchJobIdentifier?: S3BatchJobIdentifier;
    } | {
        restartBatchJobIdentifier?: RestartBatchJobIdentifier;
    };
    /** The Amazon Web Services Secrets Manager containing user's credentials for authentication and authorization for Start Batch Job execution operation. */
    authSecretsManagerArn?: string;
    /** The collection of batch job parameters. For details about limits for keys and values, see Coding variables in JCL. */
    jobParams?: Record<string, string>;
}
export interface StopApplicationInput {
    /** The unique identifier of the application you want to stop. */
    applicationId: string;
    /** Stopping an application process can take a long time. Setting this parameter to true lets you force stop the application so you don't need to wait until the process finishes to apply another action on */
    forceStop?: boolean;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** The tags to add to the resource. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** The keys of the tags to remove. */
    tagKeys: string[];
}
export interface UpdateApplicationInput {
    /** The unique identifier of the application you want to update. */
    applicationId: string;
    /** The current version of the application to update. */
    currentApplicationVersion: number;
    /** The application definition for this application. You can specify either inline JSON or an S3 bucket location. */
    definition?: {
        s3Location?: string;
    } | {
        content?: string;
    };
    /** The description of the application to update. */
    description?: string;
}
export interface UpdateEnvironmentInput {
    /** The unique identifier of the runtime environment that you want to update. */
    environmentId: string;
    /** Indicates whether to update the runtime environment during the maintenance window. The default is false. Currently, Amazon Web Services Mainframe Modernization accepts the engineVersion parameter only */
    applyDuringMaintenanceWindow?: boolean;
    /** The desired capacity for the runtime environment to update. The minimum possible value is 0 and the maximum is 100. */
    desiredCapacity?: number;
    /** The version of the runtime engine for the runtime environment. */
    engineVersion?: string;
    /** Forces the updates on the environment. This option is needed if the applications in the environment are not stopped or if there are ongoing application-related activities in the environment. If you us */
    forceUpdate?: boolean;
    /** The instance type for the runtime environment to update. */
    instanceType?: string;
    /** Configures the maintenance window that you want for the runtime environment. The maintenance window must have the format ddd:hh24:mi-ddd:hh24:mi and must be less than 24 hours. The following two examp */
    preferredMaintenanceWindow?: string;
}
/** m2 service binding for Step Functions SDK integrations. */
export declare class m2 {
    constructor();
    cancelBatchJobExecution<T>(params: CancelBatchJobExecutionInput): Promise<T>;
    createApplication<T>(params: CreateApplicationInput): Promise<T>;
    createDataSetExportTask<T>(params: CreateDataSetExportTaskInput): Promise<T>;
    createDataSetImportTask<T>(params: CreateDataSetImportTaskInput): Promise<T>;
    createDeployment<T>(params: CreateDeploymentInput): Promise<T>;
    createEnvironment<T>(params: CreateEnvironmentInput): Promise<T>;
    deleteApplication<T>(params: DeleteApplicationInput): Promise<T>;
    deleteApplicationFromEnvironment<T>(params: DeleteApplicationFromEnvironmentInput): Promise<T>;
    deleteEnvironment<T>(params: DeleteEnvironmentInput): Promise<T>;
    getApplication<T>(params: GetApplicationInput): Promise<T>;
    getApplicationVersion<T>(params: GetApplicationVersionInput): Promise<T>;
    getBatchJobExecution<T>(params: GetBatchJobExecutionInput): Promise<T>;
    getDataSetDetails<T>(params: GetDataSetDetailsInput): Promise<T>;
    getDataSetExportTask<T>(params: GetDataSetExportTaskInput): Promise<T>;
    getDataSetImportTask<T>(params: GetDataSetImportTaskInput): Promise<T>;
    getDeployment<T>(params: GetDeploymentInput): Promise<T>;
    getEnvironment<T>(params: GetEnvironmentInput): Promise<T>;
    getSignedBluinsightsUrl<T>(): Promise<T>;
    listApplications<T>(params: ListApplicationsInput): Promise<T>;
    listApplicationVersions<T>(params: ListApplicationVersionsInput): Promise<T>;
    listBatchJobDefinitions<T>(params: ListBatchJobDefinitionsInput): Promise<T>;
    listBatchJobExecutions<T>(params: ListBatchJobExecutionsInput): Promise<T>;
    listBatchJobRestartPoints<T>(params: ListBatchJobRestartPointsInput): Promise<T>;
    listDataSetExportHistory<T>(params: ListDataSetExportHistoryInput): Promise<T>;
    listDataSetImportHistory<T>(params: ListDataSetImportHistoryInput): Promise<T>;
    listDataSets<T>(params: ListDataSetsInput): Promise<T>;
    listDeployments<T>(params: ListDeploymentsInput): Promise<T>;
    listEngineVersions<T>(params: ListEngineVersionsInput): Promise<T>;
    listEnvironments<T>(params: ListEnvironmentsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    startApplication<T>(params: StartApplicationInput): Promise<T>;
    startBatchJob<T>(params: StartBatchJobInput): Promise<T>;
    stopApplication<T>(params: StopApplicationInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateApplication<T>(params: UpdateApplicationInput): Promise<T>;
    updateEnvironment<T>(params: UpdateEnvironmentInput): Promise<T>;
}
//# sourceMappingURL=m2.d.ts.map