import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface BudgetProperties { amount: Expressionable; category: Expressionable<('Cost' | 'Usage')>; filters?: Expressionable; notifications?: Expressionable; timeGrain: Expressionable<('Monthly' | 'Quarterly' | 'Annually')>; timePeriod: Expressionable; } export interface BudgetTimePeriod { endDate?: Expressionable; startDate: Expressionable; } export interface Filters { meters?: Expressionable; resourceGroups?: Expressionable; resources?: Expressionable; tags?: Expressionable; } export interface Notification { contactEmails: Expressionable; contactGroups?: Expressionable; contactRoles?: Expressionable; enabled: Expressionable; operator: Expressionable<('EqualTo' | 'GreaterThan' | 'GreaterThanOrEqualTo')>; threshold: Expressionable; } export declare namespace budgets { type BudgetsResource = ResourceDefinition; function create(name: Expressionable, properties: BudgetProperties): BudgetsResource; }