// package: grpc.health.v1
// file: google/api/health_check/v1/health_check.proto

/* tslint:disable */
/* eslint-disable */

import * as grpc from "@grpc/grpc-js";
import * as google_api_health_check_v1_health_check_pb from "../../../../google/api/health_check/v1/health_check_pb";

interface IHealthService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    check: IHealthService_ICheck;
    watch: IHealthService_IWatch;
}

interface IHealthService_ICheck extends grpc.MethodDefinition<google_api_health_check_v1_health_check_pb.HealthCheckRequest, google_api_health_check_v1_health_check_pb.HealthCheckResponse> {
    path: "/grpc.health.v1.Health/Check";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<google_api_health_check_v1_health_check_pb.HealthCheckRequest>;
    requestDeserialize: grpc.deserialize<google_api_health_check_v1_health_check_pb.HealthCheckRequest>;
    responseSerialize: grpc.serialize<google_api_health_check_v1_health_check_pb.HealthCheckResponse>;
    responseDeserialize: grpc.deserialize<google_api_health_check_v1_health_check_pb.HealthCheckResponse>;
}
interface IHealthService_IWatch extends grpc.MethodDefinition<google_api_health_check_v1_health_check_pb.HealthCheckRequest, google_api_health_check_v1_health_check_pb.HealthCheckResponse> {
    path: "/grpc.health.v1.Health/Watch";
    requestStream: false;
    responseStream: true;
    requestSerialize: grpc.serialize<google_api_health_check_v1_health_check_pb.HealthCheckRequest>;
    requestDeserialize: grpc.deserialize<google_api_health_check_v1_health_check_pb.HealthCheckRequest>;
    responseSerialize: grpc.serialize<google_api_health_check_v1_health_check_pb.HealthCheckResponse>;
    responseDeserialize: grpc.deserialize<google_api_health_check_v1_health_check_pb.HealthCheckResponse>;
}

export const HealthService: IHealthService;

export interface IHealthServer extends grpc.UntypedServiceImplementation {
    check: grpc.handleUnaryCall<google_api_health_check_v1_health_check_pb.HealthCheckRequest, google_api_health_check_v1_health_check_pb.HealthCheckResponse>;
    watch: grpc.handleServerStreamingCall<google_api_health_check_v1_health_check_pb.HealthCheckRequest, google_api_health_check_v1_health_check_pb.HealthCheckResponse>;
}

export interface IHealthClient {
    check(request: google_api_health_check_v1_health_check_pb.HealthCheckRequest, callback: (error: grpc.ServiceError | null, response: google_api_health_check_v1_health_check_pb.HealthCheckResponse) => void): grpc.ClientUnaryCall;
    check(request: google_api_health_check_v1_health_check_pb.HealthCheckRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: google_api_health_check_v1_health_check_pb.HealthCheckResponse) => void): grpc.ClientUnaryCall;
    check(request: google_api_health_check_v1_health_check_pb.HealthCheckRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: google_api_health_check_v1_health_check_pb.HealthCheckResponse) => void): grpc.ClientUnaryCall;
    watch(request: google_api_health_check_v1_health_check_pb.HealthCheckRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<google_api_health_check_v1_health_check_pb.HealthCheckResponse>;
    watch(request: google_api_health_check_v1_health_check_pb.HealthCheckRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<google_api_health_check_v1_health_check_pb.HealthCheckResponse>;
}

export class HealthClient extends grpc.Client implements IHealthClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: Partial<grpc.ClientOptions>);
    public check(request: google_api_health_check_v1_health_check_pb.HealthCheckRequest, callback: (error: grpc.ServiceError | null, response: google_api_health_check_v1_health_check_pb.HealthCheckResponse) => void): grpc.ClientUnaryCall;
    public check(request: google_api_health_check_v1_health_check_pb.HealthCheckRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: google_api_health_check_v1_health_check_pb.HealthCheckResponse) => void): grpc.ClientUnaryCall;
    public check(request: google_api_health_check_v1_health_check_pb.HealthCheckRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: google_api_health_check_v1_health_check_pb.HealthCheckResponse) => void): grpc.ClientUnaryCall;
    public watch(request: google_api_health_check_v1_health_check_pb.HealthCheckRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<google_api_health_check_v1_health_check_pb.HealthCheckResponse>;
    public watch(request: google_api_health_check_v1_health_check_pb.HealthCheckRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<google_api_health_check_v1_health_check_pb.HealthCheckResponse>;
}
