import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface Identity { type?: Expressionable<('SystemAssigned' | 'None')>; } export interface PolicyAssignmentProperties { displayName?: Expressionable; policyDefinitionId?: Expressionable; scope?: Expressionable; notScopes?: Expressionable; parameters?: Expressionable; description?: Expressionable; metadata?: Expressionable; } export interface PolicyDefinitionProperties { policyType?: Expressionable<('NotSpecified' | 'BuiltIn' | 'Custom')>; mode?: Expressionable; displayName?: Expressionable; description?: Expressionable; policyRule: Expressionable; metadata?: Expressionable; parameters?: Expressionable; } export interface PolicyDefinitionReference { policyDefinitionId?: Expressionable; parameters?: Expressionable; } export interface PolicySetDefinitionProperties { policyType?: Expressionable<('NotSpecified' | 'BuiltIn' | 'Custom')>; displayName?: Expressionable; description?: Expressionable; metadata?: Expressionable; parameters?: Expressionable; policyDefinitions: Expressionable; } export interface PolicySku { name: Expressionable; tier?: Expressionable; } export declare namespace policyAssignments { interface AdditionalProps { identity?: Expressionable; sku?: Expressionable; } type PolicyAssignmentsResource = ResourceDefinition; function create(name: Expressionable, properties: PolicyAssignmentProperties, location?: Expressionable, identity?: Expressionable, sku?: Expressionable): PolicyAssignmentsResource; } export declare namespace policyDefinitions { type PolicyDefinitionsResource = ResourceDefinition; function create(name: Expressionable, properties: PolicyDefinitionProperties): PolicyDefinitionsResource; } export declare namespace policySetDefinitions { type PolicySetDefinitionsResource = ResourceDefinition; function create(name: Expressionable, properties: PolicySetDefinitionProperties): PolicySetDefinitionsResource; }