import _m0 from 'protobufjs/minimal'; import { DhcpOptions } from '../../../../yandex/cloud/baremetal/v1alpha/dhcp'; export declare const protobufPackage = "yandex.cloud.baremetal.v1alpha"; /** Type of the public subnet. */ export declare enum PublicSubnetType { /** PUBLIC_SUBNET_TYPE_UNSPECIFIED - Unspecified public subnet type. */ PUBLIC_SUBNET_TYPE_UNSPECIFIED = 0, /** DEDICATED - Dedicated public subnet. */ DEDICATED = 1, /** EPHEMERAL - Ephemeral public subnet. */ EPHEMERAL = 2, UNRECOGNIZED = -1 } export declare function publicSubnetTypeFromJSON(object: any): PublicSubnetType; export declare function publicSubnetTypeToJSON(object: PublicSubnetType): string; /** A PublicSubnet resource. */ export interface PublicSubnet { /** ID of the public subnet. */ id: string; /** ID of the cloud that the public subnet belongs to. */ cloudId: string; /** ID of the folder that the public subnet belongs to. */ folderId: string; /** * Name of the public subnet. * The name is unique within the folder. */ name: string; /** Optional description of the public subnet. */ description: string; /** ID of the availability zone where the server resides. */ zoneId: string; /** IDs of the hardware pool that the public subnet belongs to. */ hardwarePoolIds: string[]; /** Type of the public subnet (static or ephemeral). */ type: PublicSubnetType; /** Prefix length of the public subnet CIDR block. */ prefixLength: number; /** CIDR block for the public subnet. */ cidr: string; /** DHCP options for the public subnet. */ dhcpOptions?: DhcpOptions; /** Gateway IP address for the public subnet. */ gatewayIp: string; /** Creation timestamp. */ createdAt?: Date; /** Resource labels as `key:value` pairs. */ labels: { [key: string]: string; }; } export interface PublicSubnet_LabelsEntry { key: string; value: string; } export declare const PublicSubnet: { encode(message: PublicSubnet, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PublicSubnet; fromJSON(object: any): PublicSubnet; toJSON(message: PublicSubnet): unknown; fromPartial, never>) | undefined; type?: PublicSubnetType | undefined; prefixLength?: number | undefined; cidr?: string | undefined; dhcpOptions?: ({ startIp?: string | undefined; endIp?: string | undefined; } & { startIp?: string | undefined; endIp?: string | undefined; } & Record, never>) | undefined; gatewayIp?: string | undefined; createdAt?: Date | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): PublicSubnet; }; export declare const PublicSubnet_LabelsEntry: { encode(message: PublicSubnet_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PublicSubnet_LabelsEntry; fromJSON(object: any): PublicSubnet_LabelsEntry; toJSON(message: PublicSubnet_LabelsEntry): unknown; fromPartial, never>>(object: I): PublicSubnet_LabelsEntry; }; 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 {};