import * as core from "@terrascript/core";
export interface RuleConfigArgs extends core.SchemaArgs {
    inverted: boolean | core.BooleanOut;
    threshold: number | core.NumberOut;
    type: string | core.StringOut;
}
export declare class RuleConfig extends core.Schema<RuleConfigArgs> {
    inverted: boolean | core.BooleanOut;
    threshold: number | core.NumberOut;
    type: string | core.StringOut;
}
export interface SafetyRuleArgs extends core.ResourceArgs {
    assertedControls?: core.Array<string> | core.ArrayOut<core.StringOut>;
    controlPanelArn: string | core.StringOut;
    gatingControls?: core.Array<string> | core.ArrayOut<core.StringOut>;
    name: string | core.StringOut;
    ruleConfig: RuleConfig;
    targetControls?: core.Array<string> | core.ArrayOut<core.StringOut>;
    waitPeriodMs: number | core.NumberOut;
}
export declare class SafetyRule extends core.Resource<SafetyRuleArgs> {
    arn: string | core.StringOut;
    assertedControls?: core.Array<string> | core.ArrayOut<core.StringOut>;
    controlPanelArn: string | core.StringOut;
    gatingControls?: core.Array<string> | core.ArrayOut<core.StringOut>;
    id: string | core.StringOut;
    name: string | core.StringOut;
    ruleConfig: RuleConfig;
    status: string | core.StringOut;
    targetControls?: core.Array<string> | core.ArrayOut<core.StringOut>;
    waitPeriodMs: number | core.NumberOut;
    constructor(name: string, args?: SafetyRuleArgs);
    getNamespace(): string;
}
//# sourceMappingURL=safety_rule.d.ts.map