import { Expressionable, ResourceDefinition } from 'arm-templator'; 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<('NotSpecified' | 'Indexed' | 'All')>; 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 { sku?: Expressionable; } type PolicyAssignmentsResource = ResourceDefinition; function create(name: Expressionable, properties: PolicyAssignmentProperties, 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; }