import { GrpcMessage, RecursivePartial, ToProtobufJSONOptions } from '@ngx-grpc/common';
import { BinaryReader, BinaryWriter, ByteSource } from 'google-protobuf';
export declare enum ApplicationRawEnumField {
    APPLICATION_RAW_ENUM_FIELD_UNSPECIFIED = 0,
    APPLICATION_RAW_ENUM_FIELD_NAME = 1,
    APPLICATION_RAW_ENUM_FIELD_VERSION = 2,
    APPLICATION_RAW_ENUM_FIELD_NAMESPACE = 3,
    APPLICATION_RAW_ENUM_FIELD_SERVICE = 4
}
/**
 * Message implementation for armonik.api.grpc.v1.applications.ApplicationRawField
 */
export declare class ApplicationRawField implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): ApplicationRawField;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: ApplicationRawField): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: ApplicationRawField, _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: ApplicationRawField, _writer: BinaryWriter): void;
    private _field;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of ApplicationRawField to deeply clone from
     */
    constructor(_value?: RecursivePartial<ApplicationRawField.AsObject>);
    get field(): ApplicationRawEnumField;
    set field(value: ApplicationRawEnumField);
    /**
     * 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(): ApplicationRawField.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): ApplicationRawField.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): ApplicationRawField.AsProtobufJSON;
}
export declare namespace ApplicationRawField {
    /**
     * Standard JavaScript object representation for ApplicationRawField
     */
    interface AsObject {
        field: ApplicationRawEnumField;
    }
    /**
     * Protobuf JSON representation for ApplicationRawField
     */
    interface AsProtobufJSON {
        field: string;
    }
}
/**
 * Message implementation for armonik.api.grpc.v1.applications.ApplicationField
 */
export declare class ApplicationField implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): ApplicationField;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: ApplicationField): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: ApplicationField, _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: ApplicationField, _writer: BinaryWriter): void;
    private _applicationField?;
    private _field;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of ApplicationField to deeply clone from
     */
    constructor(_value?: RecursivePartial<ApplicationField.AsObject>);
    get applicationField(): ApplicationRawField | undefined;
    set applicationField(value: ApplicationRawField | undefined);
    get field(): ApplicationField.FieldCase;
    /**
     * 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(): ApplicationField.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): ApplicationField.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): ApplicationField.AsProtobufJSON;
}
export declare namespace ApplicationField {
    /**
     * Standard JavaScript object representation for ApplicationField
     */
    interface AsObject {
        applicationField?: ApplicationRawField.AsObject;
    }
    /**
     * Protobuf JSON representation for ApplicationField
     */
    interface AsProtobufJSON {
        applicationField: ApplicationRawField.AsProtobufJSON | null;
    }
    enum FieldCase {
        none = 0,
        applicationField = 1
    }
}
