import { GrpcMessage, RecursivePartial, ToProtobufJSONOptions } from '@ngx-grpc/common';
import { BinaryReader, BinaryWriter, ByteSource } from 'google-protobuf';
export declare enum HealthStatusEnum {
    HEALTH_STATUS_ENUM_UNSPECIFIED = 0,
    HEALTH_STATUS_ENUM_HEALTHY = 1,
    HEALTH_STATUS_ENUM_DEGRADED = 2,
    HEALTH_STATUS_ENUM_UNHEALTHY = 3
}
/**
 * Message implementation for armonik.api.grpc.v1.health_checks.CheckHealthRequest
 */
export declare class CheckHealthRequest implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): CheckHealthRequest;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: CheckHealthRequest): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: CheckHealthRequest, _reader: BinaryReader): void;
    /**
     * Serializes a message to binary format using provided binary reader
     * @param _instance message instance
     * @param _writer binary writer instance
     */
    static serializeBinaryToWriter(_instance: CheckHealthRequest, _writer: BinaryWriter): void;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of CheckHealthRequest to deeply clone from
     */
    constructor(_value?: RecursivePartial<CheckHealthRequest.AsObject>);
    /**
     * Serialize message to binary data
     * @param instance message instance
     */
    serializeBinary(): Uint8Array;
    /**
     * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
     */
    toObject(): CheckHealthRequest.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): CheckHealthRequest.AsObject;
    /**
     * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
     * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
     * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required
     */
    toProtobufJSON(options?: ToProtobufJSONOptions): CheckHealthRequest.AsProtobufJSON;
}
export declare namespace CheckHealthRequest {
    /**
     * Standard JavaScript object representation for CheckHealthRequest
     */
    interface AsObject {
    }
    /**
     * Protobuf JSON representation for CheckHealthRequest
     */
    interface AsProtobufJSON {
    }
}
/**
 * Message implementation for armonik.api.grpc.v1.health_checks.CheckHealthResponse
 */
export declare class CheckHealthResponse implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): CheckHealthResponse;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: CheckHealthResponse): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: CheckHealthResponse, _reader: BinaryReader): void;
    /**
     * Serializes a message to binary format using provided binary reader
     * @param _instance message instance
     * @param _writer binary writer instance
     */
    static serializeBinaryToWriter(_instance: CheckHealthResponse, _writer: BinaryWriter): void;
    private _services?;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of CheckHealthResponse to deeply clone from
     */
    constructor(_value?: RecursivePartial<CheckHealthResponse.AsObject>);
    get services(): CheckHealthResponse.ServiceHealth[] | undefined;
    set services(value: CheckHealthResponse.ServiceHealth[] | undefined);
    /**
     * Serialize message to binary data
     * @param instance message instance
     */
    serializeBinary(): Uint8Array;
    /**
     * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
     */
    toObject(): CheckHealthResponse.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): CheckHealthResponse.AsObject;
    /**
     * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
     * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
     * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required
     */
    toProtobufJSON(options?: ToProtobufJSONOptions): CheckHealthResponse.AsProtobufJSON;
}
export declare namespace CheckHealthResponse {
    /**
     * Standard JavaScript object representation for CheckHealthResponse
     */
    interface AsObject {
        services?: CheckHealthResponse.ServiceHealth.AsObject[];
    }
    /**
     * Protobuf JSON representation for CheckHealthResponse
     */
    interface AsProtobufJSON {
        services: CheckHealthResponse.ServiceHealth.AsProtobufJSON[] | null;
    }
    /**
     * Message implementation for armonik.api.grpc.v1.health_checks.CheckHealthResponse.ServiceHealth
     */
    class ServiceHealth implements GrpcMessage {
        static id: string;
        /**
         * Deserialize binary data to message
         * @param instance message instance
         */
        static deserializeBinary(bytes: ByteSource): ServiceHealth;
        /**
         * Check all the properties and set default protobuf values if necessary
         * @param _instance message instance
         */
        static refineValues(_instance: ServiceHealth): void;
        /**
         * Deserializes / reads binary message into message instance using provided binary reader
         * @param _instance message instance
         * @param _reader binary reader instance
         */
        static deserializeBinaryFromReader(_instance: ServiceHealth, _reader: BinaryReader): void;
        /**
         * Serializes a message to binary format using provided binary reader
         * @param _instance message instance
         * @param _writer binary writer instance
         */
        static serializeBinaryToWriter(_instance: ServiceHealth, _writer: BinaryWriter): void;
        private _name;
        private _message;
        private _healthy;
        /**
         * Message constructor. Initializes the properties and applies default Protobuf values if necessary
         * @param _value initial values object or instance of ServiceHealth to deeply clone from
         */
        constructor(_value?: RecursivePartial<ServiceHealth.AsObject>);
        get name(): string;
        set name(value: string);
        get message(): string;
        set message(value: string);
        get healthy(): HealthStatusEnum;
        set healthy(value: HealthStatusEnum);
        /**
         * Serialize message to binary data
         * @param instance message instance
         */
        serializeBinary(): Uint8Array;
        /**
         * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)
         */
        toObject(): ServiceHealth.AsObject;
        /**
         * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
         */
        toJSON(): ServiceHealth.AsObject;
        /**
         * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json
         * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.
         * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required
         */
        toProtobufJSON(options?: ToProtobufJSONOptions): ServiceHealth.AsProtobufJSON;
    }
    namespace ServiceHealth {
        /**
         * Standard JavaScript object representation for ServiceHealth
         */
        interface AsObject {
            name: string;
            message: string;
            healthy: HealthStatusEnum;
        }
        /**
         * Protobuf JSON representation for ServiceHealth
         */
        interface AsProtobufJSON {
            name: string;
            message: string;
            healthy: string;
        }
    }
}
