import * as core from "@terrascript/core";
export interface ParameterArgs extends core.SchemaArgs {
    name: string | core.StringOut;
    resourceValue?: string | core.StringOut;
    staticValue?: string | core.StringOut;
    staticValues?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class Parameter extends core.Schema<ParameterArgs> {
    name: string | core.StringOut;
    resourceValue?: string | core.StringOut;
    staticValue?: string | core.StringOut;
    staticValues?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface SsmControlsArgs extends core.SchemaArgs {
    concurrentExecutionRatePercentage?: number | core.NumberOut;
    errorPercentage?: number | core.NumberOut;
}
export declare class SsmControls extends core.Schema<SsmControlsArgs> {
    concurrentExecutionRatePercentage?: number | core.NumberOut;
    errorPercentage?: number | core.NumberOut;
}
export interface ExecutionControlsArgs extends core.SchemaArgs {
    ssmControls?: SsmControls;
}
export declare class ExecutionControls extends core.Schema<ExecutionControlsArgs> {
    ssmControls?: SsmControls;
}
export interface RemediationConfigurationArgs extends core.ResourceArgs {
    automatic?: boolean | core.BooleanOut;
    configRuleName: string | core.StringOut;
    executionControls?: ExecutionControls;
    maximumAutomaticAttempts?: number | core.NumberOut;
    parameter?: core.Array<Parameter> | core.ArrayOut<Parameter>;
    resourceType?: string | core.StringOut;
    retryAttemptSeconds?: number | core.NumberOut;
    targetId: string | core.StringOut;
    targetType: string | core.StringOut;
    targetVersion?: string | core.StringOut;
}
export declare class RemediationConfiguration extends core.Resource<RemediationConfigurationArgs> {
    arn: string | core.StringOut;
    automatic?: boolean | core.BooleanOut;
    configRuleName: string | core.StringOut;
    executionControls?: ExecutionControls;
    id: string | core.StringOut;
    maximumAutomaticAttempts?: number | core.NumberOut;
    parameter?: core.Array<Parameter> | core.ArrayOut<Parameter>;
    resourceType?: string | core.StringOut;
    retryAttemptSeconds?: number | core.NumberOut;
    targetId: string | core.StringOut;
    targetType: string | core.StringOut;
    targetVersion?: string | core.StringOut;
    constructor(name: string, args?: RemediationConfigurationArgs);
    getNamespace(): string;
}
//# sourceMappingURL=remediation_configuration.d.ts.map