export interface NetworkConfiguration {
    /** A list of subnet IDs. For more information, see About networking on Amazon MWAA. */
    SubnetIds?: string[];
    /** A list of security group IDs. For more information, see Security in your VPC on Amazon MWAA. */
    SecurityGroupIds?: string[];
}
export interface ModuleLoggingConfigurationInput {
    /** Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs). */
    Enabled: boolean;
    /** Defines the Apache Airflow log level (e.g. INFO) to send to CloudWatch Logs. */
    LogLevel: 'CRITICAL' | 'ERROR' | 'WARNING' | 'INFO' | 'DEBUG';
}
export interface LoggingConfigurationInput {
    /** Publishes Airflow DAG processing logs to CloudWatch Logs. */
    DagProcessingLogs?: ModuleLoggingConfigurationInput;
    /** Publishes Airflow scheduler logs to CloudWatch Logs. */
    SchedulerLogs?: ModuleLoggingConfigurationInput;
    /** Publishes Airflow web server logs to CloudWatch Logs. */
    WebserverLogs?: ModuleLoggingConfigurationInput;
    /** Publishes Airflow worker logs to CloudWatch Logs. */
    WorkerLogs?: ModuleLoggingConfigurationInput;
    /** Publishes Airflow task logs to CloudWatch Logs. */
    TaskLogs?: ModuleLoggingConfigurationInput;
}
export interface MetricDatum {
    /** Internal only. The name of the metric. */
    MetricName: string;
    /** Internal only. The time the metric data was received. */
    Timestamp: string;
    /** Internal only. The dimensions associated with the metric. */
    Dimensions?: any[];
    /** Internal only. The value for the metric. */
    Value?: number;
    /** Internal only. The unit used to store the metric. */
    Unit?: 'Seconds' | 'Microseconds' | 'Milliseconds' | 'Bytes' | 'Kilobytes' | 'Megabytes' | 'Gigabytes' | 'Terabytes' | 'Bits' | 'Kilobits' | 'Megabits' | 'Gigabits' | 'Terabits' | 'Percent' | 'Count' | 'Bytes/Second' | 'Kilobytes/Second' | 'Megabytes/Second' | 'Gigabytes/Second' | 'Terabytes/Second' | 'Bits/Second' | 'Kilobits/Second' | 'Megabits/Second' | 'Gigabits/Second' | 'Terabits/Second' | 'Count/Second' | 'None';
    /** Internal only. The statistical values for the metric. */
    StatisticValues?: any;
}
export interface UpdateNetworkConfigurationInput {
    /** A list of security group IDs. A security group must be attached to the same VPC as the subnets. For more information, see Security in your VPC on Amazon MWAA. */
    SecurityGroupIds: string[];
}
export interface CreateCliTokenInput {
    /** The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. */
    Name: string;
}
/** This section contains the Amazon Managed Workflows for Apache Airflow (Amazon MWAA) API reference documentation to create an environment. For more information, see Get started with Amazon Managed Work */
export interface CreateEnvironmentInput {
    /** The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. For more information, see Adding or updating DAGs. */
    DagS3Path: string;
    /** The Amazon Resource Name (ARN) of the execution role for your environment. An execution role is an Amazon Web Services Identity and Access Management (IAM) role that grants MWAA permission to access A */
    ExecutionRoleArn: string;
    /** The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. */
    Name: string;
    /** The VPC networking components used to secure and enable network traffic between the Amazon Web Services resources for your environment. For more information, see About networking on Amazon MWAA. */
    NetworkConfiguration: NetworkConfiguration;
    /** The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name. For more information, see Create an */
    SourceBucketArn: string;
    /** A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your environment. For more information, see Apache Airflow configuration options. */
    AirflowConfigurationOptions?: Record<string, string>;
    /** The Apache Airflow version for your environment. If no value is specified, it defaults to the latest version. For more information, see Apache Airflow versions on Amazon Managed Workflows for Apache A */
    AirflowVersion?: string;
    /** Defines whether the VPC endpoints configured for the environment are created, and managed, by the customer or by Amazon MWAA. If set to SERVICE, Amazon MWAA will create and manage the required VPC end */
    EndpointManagement?: 'CUSTOMER' | 'SERVICE';
    /** The environment class type. Valid values: mw1.micro, mw1.small, mw1.medium, mw1.large, mw1.xlarge, and mw1.2xlarge. For more information, see Amazon MWAA environment class. */
    EnvironmentClass?: string;
    /** The Amazon Web Services Key Management Service (KMS) key to encrypt the data in your environment. You can use an Amazon Web Services owned CMK, or a Customer managed CMK (advanced). For more informati */
    KmsKey?: string;
    /** Defines the Apache Airflow logs to send to CloudWatch Logs. */
    LoggingConfiguration?: LoggingConfigurationInput;
    /** The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for MaxWebservers when you interact */
    MaxWebservers?: number;
    /** The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the MaxWorkers field. For example, 20. When the */
    MaxWorkers?: number;
    /** The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for MaxWebservers when you interact */
    MinWebservers?: number;
    /** The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the MaxWorkers field. When there are no more ta */
    MinWorkers?: number;
    /** The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a plugins.zip file is updated. For more information, see How S3 Versioning works. */
    PluginsS3ObjectVersion?: string;
    /** The relative path to the plugins.zip file on your Amazon S3 bucket. For example, plugins.zip. If specified, then the plugins.zip version is required. For more information, see Installing custom plugin */
    PluginsS3Path?: string;
    /** The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version each time a requirements.txt file is updated. For more information, see How S3 Versioning works. */
    RequirementsS3ObjectVersion?: string;
    /** The relative path to the requirements.txt file on your Amazon S3 bucket. For example, requirements.txt. If specified, then a version is required. For more information, see Installing Python dependenci */
    RequirementsS3Path?: string;
    /** The number of Apache Airflow schedulers to run in your environment. Valid values: v2 - For environments larger than mw1.micro, accepts values from 2 to 5. Defaults to 2 for all environment sizes excep */
    Schedulers?: number;
    /** The version of the startup shell script in your Amazon S3 bucket. You must specify the version ID that Amazon S3 assigns to the file every time you update the script. Version IDs are Unicode, UTF-8 en */
    StartupScriptS3ObjectVersion?: string;
    /** The relative path to the startup shell script in your Amazon S3 bucket. For example, s3://mwaa-environment/startup.sh. Amazon MWAA runs the script as your environment starts, and before running the Ap */
    StartupScriptS3Path?: string;
    /** The key-value tag pairs you want to associate to your environment. For example, "Environment": "Staging". For more information, see Tagging Amazon Web Services resources. */
    Tags?: Record<string, string>;
    /** Defines the access mode for the Apache Airflow web server. For more information, see Apache Airflow access modes. */
    WebserverAccessMode?: 'PRIVATE_ONLY' | 'PUBLIC_ONLY';
    /** The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly maintenance updates of your environment in the following format: DAY:HH:MM. For example: TUE:03:3 */
    WeeklyMaintenanceWindowStart?: string;
}
export interface CreateWebLoginTokenInput {
    /** The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. */
    Name: string;
}
export interface DeleteEnvironmentInput {
    /** The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. */
    Name: string;
}
export interface GetEnvironmentInput {
    /** The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. */
    Name: string;
}
export interface InvokeRestApiInput {
    /** The HTTP method used for making Airflow REST API calls. For example, POST. */
    Method: 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE';
    /** The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. */
    Name: string;
    /** The Apache Airflow REST API endpoint path to be called. For example, /dags/123456/clearTaskInstances. For more information, see Apache Airflow API */
    Path: string;
    /** The request body for the Apache Airflow REST API call, provided as a JSON object. */
    Body?: any;
    /** Query parameters to be included in the Apache Airflow REST API call, provided as a JSON object. */
    QueryParameters?: any;
}
export interface ListEnvironmentsInput {
    /** The maximum number of results to retrieve per page. For example, 5 environments per page. */
    MaxResults?: number;
    /** Retrieves the next page of the results. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment. */
    ResourceArn: string;
}
export interface PublishMetricsInput {
    /** Internal only. The name of the environment. */
    EnvironmentName: string;
    /** Internal only. Publishes metrics to Amazon CloudWatch. To learn more about the metrics published to Amazon CloudWatch, see Amazon MWAA performance metrics in Amazon CloudWatch. */
    MetricData: MetricDatum[];
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment. */
    ResourceArn: string;
    /** The key-value tag pairs you want to associate to your environment. For example, "Environment": "Staging". For more information, see Tagging Amazon Web Services resources. */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment. */
    ResourceArn: string;
    /** The key-value tag pair you want to remove. For example, "Environment": "Staging". */
    tagKeys: string[];
}
export interface UpdateEnvironmentInput {
    /** The name of your Amazon MWAA environment. For example, MyMWAAEnvironment. */
    Name: string;
    /** A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your environment. For more information, see Apache Airflow configuration options. */
    AirflowConfigurationOptions?: Record<string, string>;
    /** The Apache Airflow version for your environment. To upgrade your environment, specify a newer version of Apache Airflow supported by Amazon MWAA. Before you upgrade an environment, make sure your requ */
    AirflowVersion?: string;
    /** The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. For more information, see Adding or updating DAGs. */
    DagS3Path?: string;
    /** The environment class type. Valid values: mw1.micro, mw1.small, mw1.medium, mw1.large, mw1.xlarge, and mw1.2xlarge. For more information, see Amazon MWAA environment class. */
    EnvironmentClass?: string;
    /** The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access Amazon Web Services resources in your environment. For example, arn:aws:iam::123456789:role/my-execution-role. Fo */
    ExecutionRoleArn?: string;
    /** The Apache Airflow log types to send to CloudWatch Logs. */
    LoggingConfiguration?: LoggingConfigurationInput;
    /** The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for MaxWebservers when you interact */
    MaxWebservers?: number;
    /** The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the MaxWorkers field. For example, 20. When the */
    MaxWorkers?: number;
    /** The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for MaxWebservers when you interact */
    MinWebservers?: number;
    /** The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the MaxWorkers field. When there are no more ta */
    MinWorkers?: number;
    /** The VPC networking components used to secure and enable network traffic between the Amazon Web Services resources for your environment. For more information, see About networking on Amazon MWAA. */
    NetworkConfiguration?: UpdateNetworkConfigurationInput;
    /** The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a plugins.zip file is updated. For more information, see How S3 Versioning works. */
    PluginsS3ObjectVersion?: string;
    /** The relative path to the plugins.zip file on your Amazon S3 bucket. For example, plugins.zip. If specified, then the plugins.zip version is required. For more information, see Installing custom plugin */
    PluginsS3Path?: string;
    /** The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version each time a requirements.txt file is updated. For more information, see How S3 Versioning works. */
    RequirementsS3ObjectVersion?: string;
    /** The relative path to the requirements.txt file on your Amazon S3 bucket. For example, requirements.txt. If specified, then a file version is required. For more information, see Installing Python depen */
    RequirementsS3Path?: string;
    /** The number of Apache Airflow schedulers to run in your Amazon MWAA environment. */
    Schedulers?: number;
    /** The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name. For more information, see Create an */
    SourceBucketArn?: string;
    /** The version of the startup shell script in your Amazon S3 bucket. You must specify the version ID that Amazon S3 assigns to the file every time you update the script. Version IDs are Unicode, UTF-8 en */
    StartupScriptS3ObjectVersion?: string;
    /** The relative path to the startup shell script in your Amazon S3 bucket. For example, s3://mwaa-environment/startup.sh. Amazon MWAA runs the script as your environment starts, and before running the Ap */
    StartupScriptS3Path?: string;
    /** The Apache Airflow Web server access mode. For more information, see Apache Airflow access modes. */
    WebserverAccessMode?: 'PRIVATE_ONLY' | 'PUBLIC_ONLY';
    /** The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly maintenance updates of your environment in the following format: DAY:HH:MM. For example: TUE:03:3 */
    WeeklyMaintenanceWindowStart?: string;
    /** The worker replacement strategy to use when updating the environment. You can select one of the following strategies: Forced - Stops and replaces Apache Airflow workers without waiting for tasks to co */
    WorkerReplacementStrategy?: 'FORCED' | 'GRACEFUL';
}
/** MWAA service binding for Step Functions SDK integrations. */
export declare class MWAA {
    constructor();
    createCliToken<T>(params: CreateCliTokenInput): Promise<T>;
    createEnvironment<T>(params: CreateEnvironmentInput): Promise<T>;
    createWebLoginToken<T>(params: CreateWebLoginTokenInput): Promise<T>;
    deleteEnvironment<T>(params: DeleteEnvironmentInput): Promise<T>;
    getEnvironment<T>(params: GetEnvironmentInput): Promise<T>;
    invokeRestApi<T>(params: InvokeRestApiInput): Promise<T>;
    listEnvironments<T>(params: ListEnvironmentsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    publishMetrics<T>(params: PublishMetricsInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateEnvironment<T>(params: UpdateEnvironmentInput): Promise<T>;
}
//# sourceMappingURL=MWAA.d.ts.map