import _m0 from 'protobufjs/minimal'; export declare const protobufPackage = "yandex.cloud.vpc.v1"; export declare enum IpVersion { IP_VERSION_UNSPECIFIED = 0, IPV4 = 1, IPV6 = 2, UNRECOGNIZED = -1 } export declare function ipVersionFromJSON(object: any): IpVersion; export declare function ipVersionToJSON(object: IpVersion): string; /** A Subnet resource. For more information, see [Subnets](/docs/vpc/concepts/network#subnet). */ export interface Subnet { /** ID of the subnet. */ id: string; /** ID of the folder that the subnet belongs to. */ folderId: string; /** Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. */ createdAt?: Date; /** * Name of the subnet. * The name must be unique within the folder. * Value must match the regular expression ``\|[a-zA-Z]([-_a-zA-Z0-9]{0,61}[a-zA-Z0-9])?``. */ name: string; /** Optional description of the subnet. 0-256 characters long. */ description: string; /** * Resource labels, `key:value` pairs. * No more than 64 per resource. * The maximum string length in characters for each value is 63. * Each value must match the regular expression `[-_0-9a-z]*`. * The string length in characters for each key must be 1-63. * Each key must match the regular expression `[a-z][-_0-9a-z]*`. */ labels: { [key: string]: string; }; /** ID of the network the subnet belongs to. */ networkId: string; /** ID of the availability zone where the subnet resides. */ zoneId: string; /** * CIDR block. * The range of internal addresses that are defined for this subnet. * This field can be set only at Subnet resource creation time and cannot be changed. * For example, 10.0.0.0/22 or 192.168.0.0/24. * Minimum subnet size is /28, maximum subnet size is /16. */ v4CidrBlocks: string[]; /** IPv6 not available yet. */ v6CidrBlocks: string[]; /** ID of route table the subnet is linked to. */ routeTableId: string; /** DHCP options for the subnet. */ dhcpOptions?: DhcpOptions; } export interface Subnet_LabelsEntry { key: string; value: string; } export interface DhcpOptions { /** A list of DHCP servers for this subnet. */ domainNameServers: string[]; /** A domain name to us as a suffix when resolving host names in this subnet. */ domainName: string; /** List of NTP servers for this subnet. */ ntpServers: string[]; } export declare const Subnet: { encode(message: Subnet, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Subnet; fromJSON(object: any): Subnet; toJSON(message: Subnet): unknown; fromPartial, never>) | undefined; networkId?: string | undefined; zoneId?: string | undefined; v4CidrBlocks?: (string[] & string[] & Record, never>) | undefined; v6CidrBlocks?: (string[] & string[] & Record, never>) | undefined; routeTableId?: string | undefined; dhcpOptions?: ({ domainNameServers?: string[] | undefined; domainName?: string | undefined; ntpServers?: string[] | undefined; } & { domainNameServers?: (string[] & string[] & Record, never>) | undefined; domainName?: string | undefined; ntpServers?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): Subnet; }; export declare const Subnet_LabelsEntry: { encode(message: Subnet_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Subnet_LabelsEntry; fromJSON(object: any): Subnet_LabelsEntry; toJSON(message: Subnet_LabelsEntry): unknown; fromPartial, never>>(object: I): Subnet_LabelsEntry; }; export declare const DhcpOptions: { encode(message: DhcpOptions, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DhcpOptions; fromJSON(object: any): DhcpOptions; toJSON(message: DhcpOptions): unknown; fromPartial, never>) | undefined; domainName?: string | undefined; ntpServers?: (string[] & string[] & Record, never>) | undefined; } & Record, never>>(object: I): DhcpOptions; }; 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 {};