import _m0 from 'protobufjs/minimal'; export declare const protobufPackage = "yandex.cloud.dns.v1"; /** A DNS zone. For details about the concept, see [DNS zones](/docs/dns/concepts/dns-zone). */ export interface DnsZone { /** ID of the DNS zone. Generated at creation time. */ id: string; /** ID of the folder that the DNS zone belongs to. */ folderId: string; /** Creation timestamp. */ createdAt?: Date; /** * Name of the DNS zone. * The name is unique within the folder. */ name: string; /** Description of the DNS zone. */ description: string; /** DNS zone labels as `key:value` pairs. */ labels: { [key: string]: string; }; /** DNS zone suffix. */ zone: string; /** * Privately visible zone settings. * Specifies whether records within the zone are visible from a VPC networks only. */ privateVisibility?: PrivateVisibility; /** * Publicly visible zone settings. * Indicates whether records within the zone are publicly visible. */ publicVisibility?: PublicVisibility; /** Prevents accidental zone removal. */ deletionProtection: boolean; } export interface DnsZone_LabelsEntry { key: string; value: string; } /** A record set. For details about the concept, see [Resource record](/docs/dns/concepts/resource-record). */ export interface RecordSet { /** Domain name. */ name: string; /** Record type. */ type: string; /** Time to live in seconds. */ ttl: number; /** Data of the record set. */ data: string[]; } /** Configuration for privately visible zones. */ export interface PrivateVisibility { /** Network IDs. */ networkIds: string[]; } /** Configuration for publicly visible zones. */ export interface PublicVisibility { } export declare const DnsZone: { encode(message: DnsZone, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DnsZone; fromJSON(object: any): DnsZone; toJSON(message: DnsZone): unknown; fromPartial, never>) | undefined; zone?: string | undefined; privateVisibility?: ({ networkIds?: string[] | undefined; } & { networkIds?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; publicVisibility?: ({} & {} & Record, never>) | undefined; deletionProtection?: boolean | undefined; } & Record, never>>(object: I): DnsZone; }; export declare const DnsZone_LabelsEntry: { encode(message: DnsZone_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DnsZone_LabelsEntry; fromJSON(object: any): DnsZone_LabelsEntry; toJSON(message: DnsZone_LabelsEntry): unknown; fromPartial, never>>(object: I): DnsZone_LabelsEntry; }; export declare const RecordSet: { encode(message: RecordSet, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RecordSet; fromJSON(object: any): RecordSet; toJSON(message: RecordSet): unknown; fromPartial, never>) | undefined; } & Record, never>>(object: I): RecordSet; }; export declare const PrivateVisibility: { encode(message: PrivateVisibility, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PrivateVisibility; fromJSON(object: any): PrivateVisibility; toJSON(message: PrivateVisibility): unknown; fromPartial, never>) | undefined; } & Record, never>>(object: I): PrivateVisibility; }; export declare const PublicVisibility: { encode(_: PublicVisibility, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PublicVisibility; fromJSON(_: any): PublicVisibility; toJSON(_: PublicVisibility): unknown; fromPartial, never>>(_: I): PublicVisibility; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};