import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface AaaaRecord { ipv6Address?: Expressionable; } export interface ARecord { ipv4Address?: Expressionable; } export interface CaaRecord { flags?: Expressionable; tag?: Expressionable; value?: Expressionable; } export interface CnameRecord { cname?: Expressionable; } export interface MxRecord { preference?: Expressionable; exchange?: Expressionable; } export interface NsRecord { nsdname?: Expressionable; } export interface PtrRecord { ptrdname?: Expressionable; } export interface RecordSetProperties { TTL?: Expressionable; targetResource?: Expressionable; ARecords?: Expressionable; AAAARecords?: Expressionable; MXRecords?: Expressionable; NSRecords?: Expressionable; PTRRecords?: Expressionable; SRVRecords?: Expressionable; TXTRecords?: Expressionable; CNAMERecord?: Expressionable; SOARecord?: Expressionable; caaRecords?: Expressionable; } export interface SoaRecord { host?: Expressionable; email?: Expressionable; serialNumber?: Expressionable; refreshTime?: Expressionable; retryTime?: Expressionable; expireTime?: Expressionable; minimumTTL?: Expressionable; } export interface SrvRecord { priority?: Expressionable; weight?: Expressionable; port?: Expressionable; target?: Expressionable; } export interface SubResource { id?: Expressionable; } export interface TxtRecord { value?: Expressionable; } export interface ZoneProperties { zoneType?: Expressionable<('Public' | 'Private')>; registrationVirtualNetworks?: Expressionable; resolutionVirtualNetworks?: Expressionable; } export declare namespace dnsZones { type DnsZonesResource = ResourceDefinition; function create(name: Expressionable, properties: ZoneProperties, location: Expressionable): DnsZonesResource; } export declare namespace dnsZones { namespace A { type AResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RecordSetProperties): AResource; } } export declare namespace dnsZones { namespace AAAA { type AAAAResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RecordSetProperties): AAAAResource; } } export declare namespace dnsZones { namespace CAA { type CAAResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RecordSetProperties): CAAResource; } } export declare namespace dnsZones { namespace CNAME { type CNAMEResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RecordSetProperties): CNAMEResource; } } export declare namespace dnsZones { namespace MX { type MXResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RecordSetProperties): MXResource; } } export declare namespace dnsZones { namespace NS { type NSResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RecordSetProperties): NSResource; } } export declare namespace dnsZones { namespace PTR { type PTRResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RecordSetProperties): PTRResource; } } export declare namespace dnsZones { namespace SOA { type SOAResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RecordSetProperties): SOAResource; } } export declare namespace dnsZones { namespace SRV { type SRVResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RecordSetProperties): SRVResource; } } export declare namespace dnsZones { namespace TXT { type TXTResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: RecordSetProperties): TXTResource; } }