import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Operation } from "./ydb_operation_pb.js";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/ydb_discovery.proto.
 */
export declare const file_protos_ydb_discovery: GenFile;
/**
 * @generated from message Ydb.Discovery.ListEndpointsRequest
 */
export type ListEndpointsRequest = Message<"Ydb.Discovery.ListEndpointsRequest"> & {
    /**
     * @generated from field: string database = 1;
     */
    database: string;
    /**
     * @generated from field: repeated string service = 2;
     */
    service: string[];
};
/**
 * Describes the message Ydb.Discovery.ListEndpointsRequest.
 * Use `create(ListEndpointsRequestSchema)` to create a new message.
 */
export declare const ListEndpointsRequestSchema: GenMessage<ListEndpointsRequest>;
/**
 * @generated from message Ydb.Discovery.EndpointInfo
 */
export type EndpointInfo = Message<"Ydb.Discovery.EndpointInfo"> & {
    /**
     * This is an address (usually fqdn) and port of this node's grpc endpoint
     *
     * @generated from field: string address = 1;
     */
    address: string;
    /**
     * @generated from field: uint32 port = 2;
     */
    port: number;
    /**
     * @generated from field: float load_factor = 3;
     */
    loadFactor: number;
    /**
     * @generated from field: bool ssl = 4;
     */
    ssl: boolean;
    /**
     * @generated from field: repeated string service = 5;
     */
    service: string[];
    /**
     * @generated from field: string location = 6;
     */
    location: string;
    /**
     * @generated from field: uint32 node_id = 7;
     */
    nodeId: number;
    /**
     * Optional ipv4 and/or ipv6 addresses of the endpoint, which clients may
     * use instead of a dns name in the address field.
     *
     * @generated from field: repeated string ip_v4 = 8;
     */
    ipV4: string[];
    /**
     * @generated from field: repeated string ip_v6 = 9;
     */
    ipV6: string[];
    /**
     * Optional value for grpc.ssl_target_name_override option that must be
     * used when connecting to this endpoint. This may be specified when an ssl
     * endpoint is using certificate chain valid for a balancer hostname, and
     * not this specific node hostname.
     *
     * @generated from field: string ssl_target_name_override = 10;
     */
    sslTargetNameOverride: string;
};
/**
 * Describes the message Ydb.Discovery.EndpointInfo.
 * Use `create(EndpointInfoSchema)` to create a new message.
 */
export declare const EndpointInfoSchema: GenMessage<EndpointInfo>;
/**
 * @generated from message Ydb.Discovery.ListEndpointsResult
 */
export type ListEndpointsResult = Message<"Ydb.Discovery.ListEndpointsResult"> & {
    /**
     * @generated from field: repeated Ydb.Discovery.EndpointInfo endpoints = 1;
     */
    endpoints: EndpointInfo[];
    /**
     * @generated from field: string self_location = 2;
     */
    selfLocation: string;
};
/**
 * Describes the message Ydb.Discovery.ListEndpointsResult.
 * Use `create(ListEndpointsResultSchema)` to create a new message.
 */
export declare const ListEndpointsResultSchema: GenMessage<ListEndpointsResult>;
/**
 * @generated from message Ydb.Discovery.ListEndpointsResponse
 */
export type ListEndpointsResponse = Message<"Ydb.Discovery.ListEndpointsResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Discovery.ListEndpointsResponse.
 * Use `create(ListEndpointsResponseSchema)` to create a new message.
 */
export declare const ListEndpointsResponseSchema: GenMessage<ListEndpointsResponse>;
/**
 * @generated from message Ydb.Discovery.WhoAmIRequest
 */
export type WhoAmIRequest = Message<"Ydb.Discovery.WhoAmIRequest"> & {
    /**
     * Include user groups in response
     *
     * @generated from field: bool include_groups = 1;
     */
    includeGroups: boolean;
};
/**
 * Describes the message Ydb.Discovery.WhoAmIRequest.
 * Use `create(WhoAmIRequestSchema)` to create a new message.
 */
export declare const WhoAmIRequestSchema: GenMessage<WhoAmIRequest>;
/**
 * @generated from message Ydb.Discovery.WhoAmIResult
 */
export type WhoAmIResult = Message<"Ydb.Discovery.WhoAmIResult"> & {
    /**
     * User SID (Security ID)
     *
     * @generated from field: string user = 1;
     */
    user: string;
    /**
     * List of group SIDs (Security IDs) for the user
     *
     * @generated from field: repeated string groups = 2;
     */
    groups: string[];
};
/**
 * Describes the message Ydb.Discovery.WhoAmIResult.
 * Use `create(WhoAmIResultSchema)` to create a new message.
 */
export declare const WhoAmIResultSchema: GenMessage<WhoAmIResult>;
/**
 * @generated from message Ydb.Discovery.WhoAmIResponse
 */
export type WhoAmIResponse = Message<"Ydb.Discovery.WhoAmIResponse"> & {
    /**
     * @generated from field: Ydb.Operations.Operation operation = 1;
     */
    operation?: Operation;
};
/**
 * Describes the message Ydb.Discovery.WhoAmIResponse.
 * Use `create(WhoAmIResponseSchema)` to create a new message.
 */
export declare const WhoAmIResponseSchema: GenMessage<WhoAmIResponse>;
/**
 * @generated from message Ydb.Discovery.NodeLocation
 */
export type NodeLocation = Message<"Ydb.Discovery.NodeLocation"> & {
    /**
     * compatibility section -- will be removed in future versions
     *
     * @generated from field: optional uint32 data_center_num = 1 [deprecated = true];
     * @deprecated
     */
    dataCenterNum?: number;
    /**
     * @generated from field: optional uint32 room_num = 2 [deprecated = true];
     * @deprecated
     */
    roomNum?: number;
    /**
     * @generated from field: optional uint32 rack_num = 3 [deprecated = true];
     * @deprecated
     */
    rackNum?: number;
    /**
     * @generated from field: optional uint32 body_num = 4 [deprecated = true];
     * @deprecated
     */
    bodyNum?: number;
    /**
     * for compatibility with WalleLocation
     *
     * @generated from field: optional uint32 body = 100500 [deprecated = true];
     * @deprecated
     */
    body?: number;
    /**
     * @generated from field: optional string data_center = 10;
     */
    dataCenter?: string;
    /**
     * @generated from field: optional string module = 20;
     */
    module?: string;
    /**
     * @generated from field: optional string rack = 30;
     */
    rack?: string;
    /**
     * @generated from field: optional string unit = 40;
     */
    unit?: string;
};
/**
 * Describes the message Ydb.Discovery.NodeLocation.
 * Use `create(NodeLocationSchema)` to create a new message.
 */
export declare const NodeLocationSchema: GenMessage<NodeLocation>;
//# sourceMappingURL=ydb_discovery_pb.d.ts.map