import { ResourceBase } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class NotificationConfig {
    NotificationArn: Value<string>;
    NotificationType?: Value<string>;
    NotificationEvents?: List<Value<string>>;
    constructor(properties: NotificationConfig);
}
export declare class Target {
    Values?: List<Value<string>>;
    Key: Value<string>;
    constructor(properties: Target);
}
export declare class MaintenanceWindowStepFunctionsParameters {
    Input?: Value<string>;
    Name?: Value<string>;
    constructor(properties: MaintenanceWindowStepFunctionsParameters);
}
export declare class MaintenanceWindowAutomationParameters {
    Parameters?: MapOf<any>;
    DocumentVersion?: Value<string>;
    constructor(properties: MaintenanceWindowAutomationParameters);
}
export declare class TaskInvocationParameters {
    MaintenanceWindowRunCommandParameters?: MaintenanceWindowRunCommandParameters;
    MaintenanceWindowAutomationParameters?: MaintenanceWindowAutomationParameters;
    MaintenanceWindowStepFunctionsParameters?: MaintenanceWindowStepFunctionsParameters;
    MaintenanceWindowLambdaParameters?: MaintenanceWindowLambdaParameters;
    constructor(properties: TaskInvocationParameters);
}
export declare class LoggingInfo {
    S3Bucket: Value<string>;
    Region: Value<string>;
    S3Prefix?: Value<string>;
    constructor(properties: LoggingInfo);
}
export declare class MaintenanceWindowRunCommandParameters {
    DocumentHashType?: Value<string>;
    DocumentHash?: Value<string>;
    Parameters?: MapOf<any>;
    NotificationConfig?: NotificationConfig;
    OutputS3KeyPrefix?: Value<string>;
    ServiceRoleArn?: Value<string>;
    OutputS3BucketName?: Value<string>;
    TimeoutSeconds?: Value<number>;
    Comment?: Value<string>;
    constructor(properties: MaintenanceWindowRunCommandParameters);
}
export declare class MaintenanceWindowLambdaParameters {
    ClientContext?: Value<string>;
    Qualifier?: Value<string>;
    Payload?: Value<string>;
    constructor(properties: MaintenanceWindowLambdaParameters);
}
export interface MaintenanceWindowTaskProperties {
    Targets: List<Target>;
    Priority: Value<number>;
    WindowId: Value<string>;
    Name?: Value<string>;
    LoggingInfo?: LoggingInfo;
    TaskParameters?: MapOf<any>;
    MaxErrors: Value<string>;
    MaxConcurrency: Value<string>;
    ServiceRoleArn?: Value<string>;
    TaskArn: Value<string>;
    Description?: Value<string>;
    TaskType: Value<string>;
    TaskInvocationParameters?: TaskInvocationParameters;
}
export default class Inner_MaintenanceWindowTask extends ResourceBase<MaintenanceWindowTaskProperties> {
    static NotificationConfig: typeof NotificationConfig;
    static Target: typeof Target;
    static MaintenanceWindowStepFunctionsParameters: typeof MaintenanceWindowStepFunctionsParameters;
    static MaintenanceWindowAutomationParameters: typeof MaintenanceWindowAutomationParameters;
    static TaskInvocationParameters: typeof TaskInvocationParameters;
    static LoggingInfo: typeof LoggingInfo;
    static MaintenanceWindowRunCommandParameters: typeof MaintenanceWindowRunCommandParameters;
    static MaintenanceWindowLambdaParameters: typeof MaintenanceWindowLambdaParameters;
    constructor(properties: MaintenanceWindowTaskProperties);
}
