import * as core from "@terrascript/core";
export interface IncludeMapArgs extends core.SchemaArgs {
    account?: core.Array<string> | core.ArrayOut<core.StringOut>;
    orgunit?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class IncludeMap extends core.Schema<IncludeMapArgs> {
    account?: core.Array<string> | core.ArrayOut<core.StringOut>;
    orgunit?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface SecurityServicePolicyDataArgs extends core.SchemaArgs {
    managedServiceData?: string | core.StringOut;
    type: string | core.StringOut;
}
export declare class SecurityServicePolicyData extends core.Schema<SecurityServicePolicyDataArgs> {
    managedServiceData?: string | core.StringOut;
    type: string | core.StringOut;
}
export interface ExcludeMapArgs extends core.SchemaArgs {
    account?: core.Array<string> | core.ArrayOut<core.StringOut>;
    orgunit?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class ExcludeMap extends core.Schema<ExcludeMapArgs> {
    account?: core.Array<string> | core.ArrayOut<core.StringOut>;
    orgunit?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface PolicyArgs extends core.ResourceArgs {
    deleteAllPolicyResources?: boolean | core.BooleanOut;
    deleteUnusedFmManagedResources?: boolean | core.BooleanOut;
    excludeMap?: ExcludeMap;
    excludeResourceTags: boolean | core.BooleanOut;
    includeMap?: IncludeMap;
    name: string | core.StringOut;
    remediationEnabled?: boolean | core.BooleanOut;
    resourceTags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    resourceType?: string | core.StringOut;
    resourceTypeList?: core.Array<string> | core.ArrayOut<core.StringOut>;
    securityServicePolicyData: SecurityServicePolicyData;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Policy extends core.Resource<PolicyArgs> {
    arn: string | core.StringOut;
    deleteAllPolicyResources?: boolean | core.BooleanOut;
    deleteUnusedFmManagedResources?: boolean | core.BooleanOut;
    excludeMap?: ExcludeMap;
    excludeResourceTags: boolean | core.BooleanOut;
    id: string | core.StringOut;
    includeMap?: IncludeMap;
    name: string | core.StringOut;
    policyUpdateToken: string | core.StringOut;
    remediationEnabled?: boolean | core.BooleanOut;
    resourceTags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    resourceType?: string | core.StringOut;
    resourceTypeList?: core.Array<string> | core.ArrayOut<core.StringOut>;
    securityServicePolicyData: SecurityServicePolicyData;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: PolicyArgs);
    getNamespace(): string;
}
//# sourceMappingURL=policy.d.ts.map