import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface RedisCreateProperties { enableNonSslPort?: Expressionable; redisConfiguration?: Expressionable; shardCount?: Expressionable; sku: Expressionable; staticIP?: Expressionable; subnetId?: Expressionable; tenantSettings?: Expressionable; } export interface RedisFirewallRuleProperties { endIP: Expressionable; startIP: Expressionable; } export interface ScheduleEntries { scheduleEntries: Expressionable; } export interface ScheduleEntry { dayOfWeek: Expressionable<('Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday' | 'Everyday' | 'Weekend')>; maintenanceWindow?: Expressionable; startHourUtc: Expressionable; } export interface Sku { capacity: Expressionable; family: Expressionable<('C' | 'P')>; name: Expressionable<('Basic' | 'Standard' | 'Premium')>; } export declare namespace Redis { interface AdditionalProps { tags?: Expressionable; } type RedisResource = ResourceDefinition; function create(name: Expressionable, properties: RedisCreateProperties, location: Expressionable, tags?: Expressionable): RedisResource; } export declare namespace Redis { namespace firewallRules { type FirewallRulesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RedisFirewallRuleProperties): FirewallRulesResource; } } export declare namespace Redis { namespace patchSchedules { type PatchSchedulesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ScheduleEntries): PatchSchedulesResource; } }