import * as core from "@terrascript/core";
export interface ScopeArgs extends core.SchemaArgs {
    complianceResourceIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    complianceResourceTypes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Scope extends core.Schema<ScopeArgs> {
    complianceResourceIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    complianceResourceTypes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export interface InputParameterArgs extends core.SchemaArgs {
    name?: string | core.StringOut;
    value?: string | core.StringOut;
}
export declare class InputParameter extends core.Schema<InputParameterArgs> {
    name?: string | core.StringOut;
    value?: string | core.StringOut;
}
export interface ControlArgs extends core.SchemaArgs {
    inputParameter?: core.Array<InputParameter> | core.ArrayOut<InputParameter>;
    name: string | core.StringOut;
    scope?: Scope;
}
export declare class Control extends core.Schema<ControlArgs> {
    inputParameter?: core.Array<InputParameter> | core.ArrayOut<InputParameter>;
    name: string | core.StringOut;
    scope?: Scope;
}
export interface FrameworkArgs extends core.ResourceArgs {
    control: core.Array<Control> | core.ArrayOut<Control>;
    description?: string | core.StringOut;
    name: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Framework extends core.Resource<FrameworkArgs> {
    arn: string | core.StringOut;
    control: core.Array<Control> | core.ArrayOut<Control>;
    creationTime: string | core.StringOut;
    deploymentStatus: string | core.StringOut;
    description?: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
    status: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: FrameworkArgs);
    getNamespace(): string;
}
//# sourceMappingURL=framework.d.ts.map