// @generated by protoc-gen-es v2.11.0 with parameter "target=js+dts"
// @generated from file health.proto (package grpc.health.v1, syntax proto3)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file health.proto.
 */
export declare const file_health: GenFile;

/**
 * Health check request
 *
 * @generated from message grpc.health.v1.HealthCheckRequest
 */
export declare type HealthCheckRequest = Message<"grpc.health.v1.HealthCheckRequest"> & {
  /**
   * Service name to check (empty for overall service health)
   *
   * @generated from field: string service = 1;
   */
  service: string;
};

/**
 * Describes the message grpc.health.v1.HealthCheckRequest.
 * Use `create(HealthCheckRequestSchema)` to create a new message.
 */
export declare const HealthCheckRequestSchema: GenMessage<HealthCheckRequest>;

/**
 * Health check response
 *
 * @generated from message grpc.health.v1.HealthCheckResponse
 */
export declare type HealthCheckResponse = Message<"grpc.health.v1.HealthCheckResponse"> & {
  /**
   * Health status
   *
   * @generated from field: grpc.health.v1.ServingStatus status = 1;
   */
  status: ServingStatus;
};

/**
 * Describes the message grpc.health.v1.HealthCheckResponse.
 * Use `create(HealthCheckResponseSchema)` to create a new message.
 */
export declare const HealthCheckResponseSchema: GenMessage<HealthCheckResponse>;

/**
 * Serving status enum
 *
 * @generated from enum grpc.health.v1.ServingStatus
 */
export enum ServingStatus {
  /**
   * @generated from enum value: UNKNOWN = 0;
   */
  UNKNOWN = 0,

  /**
   * @generated from enum value: SERVING = 1;
   */
  SERVING = 1,

  /**
   * @generated from enum value: NOT_SERVING = 2;
   */
  NOT_SERVING = 2,

  /**
   * Used when the requested service is unknown
   *
   * @generated from enum value: SERVICE_UNKNOWN = 3;
   */
  SERVICE_UNKNOWN = 3,
}

/**
 * Describes the enum grpc.health.v1.ServingStatus.
 */
export declare const ServingStatusSchema: GenEnum<ServingStatus>;

/**
 * Health check service definition
 *
 * @generated from service grpc.health.v1.Health
 */
export declare const Health: GenService<{
  /**
   * Check the health status of the service
   *
   * @generated from rpc grpc.health.v1.Health.Check
   */
  check: {
    methodKind: "unary";
    input: typeof HealthCheckRequestSchema;
    output: typeof HealthCheckResponseSchema;
  },
  /**
   * Watch for health status changes
   *
   * @generated from rpc grpc.health.v1.Health.Watch
   */
  watch: {
    methodKind: "server_streaming";
    input: typeof HealthCheckRequestSchema;
    output: typeof HealthCheckResponseSchema;
  },
}>;

