import { GrpcMessage, RecursivePartial, ToProtobufJSONOptions } from '@ngx-grpc/common';
import { BinaryReader, BinaryWriter, ByteSource } from 'google-protobuf';
import * as armonikApiGrpcV1Applications000 from './applications-fields.pb';
import * as armonikApiGrpcV1Applications002 from './applications-filters.pb';
import * as armonikApiGrpcV1Sort_direction003 from './sort-direction.pb';
/**
 * Message implementation for armonik.api.grpc.v1.applications.ApplicationRaw
 */
export declare class ApplicationRaw implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): ApplicationRaw;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: ApplicationRaw): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: ApplicationRaw, _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: ApplicationRaw, _writer: BinaryWriter): void;
    private _name;
    private _version;
    private _namespace;
    private _service;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of ApplicationRaw to deeply clone from
     */
    constructor(_value?: RecursivePartial<ApplicationRaw.AsObject>);
    get name(): string;
    set name(value: string);
    get version(): string;
    set version(value: string);
    get namespace(): string;
    set namespace(value: string);
    get service(): string;
    set service(value: string);
    /**
     * 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(): ApplicationRaw.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): ApplicationRaw.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): ApplicationRaw.AsProtobufJSON;
}
export declare namespace ApplicationRaw {
    /**
     * Standard JavaScript object representation for ApplicationRaw
     */
    interface AsObject {
        name: string;
        version: string;
        namespace: string;
        service: string;
    }
    /**
     * Protobuf JSON representation for ApplicationRaw
     */
    interface AsProtobufJSON {
        name: string;
        version: string;
        namespace: string;
        service: string;
    }
}
/**
 * Message implementation for armonik.api.grpc.v1.applications.ListApplicationsRequest
 */
export declare class ListApplicationsRequest implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): ListApplicationsRequest;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: ListApplicationsRequest): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: ListApplicationsRequest, _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: ListApplicationsRequest, _writer: BinaryWriter): void;
    private _page;
    private _pageSize;
    private _filters?;
    private _sort?;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of ListApplicationsRequest to deeply clone from
     */
    constructor(_value?: RecursivePartial<ListApplicationsRequest.AsObject>);
    get page(): number;
    set page(value: number);
    get pageSize(): number;
    set pageSize(value: number);
    get filters(): armonikApiGrpcV1Applications002.Filters | undefined;
    set filters(value: armonikApiGrpcV1Applications002.Filters | undefined);
    get sort(): ListApplicationsRequest.Sort | undefined;
    set sort(value: ListApplicationsRequest.Sort | 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(): ListApplicationsRequest.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): ListApplicationsRequest.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): ListApplicationsRequest.AsProtobufJSON;
}
export declare namespace ListApplicationsRequest {
    /**
     * Standard JavaScript object representation for ListApplicationsRequest
     */
    interface AsObject {
        page: number;
        pageSize: number;
        filters?: armonikApiGrpcV1Applications002.Filters.AsObject;
        sort?: ListApplicationsRequest.Sort.AsObject;
    }
    /**
     * Protobuf JSON representation for ListApplicationsRequest
     */
    interface AsProtobufJSON {
        page: number;
        pageSize: number;
        filters: armonikApiGrpcV1Applications002.Filters.AsProtobufJSON | null;
        sort: ListApplicationsRequest.Sort.AsProtobufJSON | null;
    }
    /**
     * Message implementation for armonik.api.grpc.v1.applications.ListApplicationsRequest.Sort
     */
    class Sort implements GrpcMessage {
        static id: string;
        /**
         * Deserialize binary data to message
         * @param instance message instance
         */
        static deserializeBinary(bytes: ByteSource): Sort;
        /**
         * Check all the properties and set default protobuf values if necessary
         * @param _instance message instance
         */
        static refineValues(_instance: Sort): void;
        /**
         * Deserializes / reads binary message into message instance using provided binary reader
         * @param _instance message instance
         * @param _reader binary reader instance
         */
        static deserializeBinaryFromReader(_instance: Sort, _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: Sort, _writer: BinaryWriter): void;
        private _fields?;
        private _direction;
        /**
         * Message constructor. Initializes the properties and applies default Protobuf values if necessary
         * @param _value initial values object or instance of Sort to deeply clone from
         */
        constructor(_value?: RecursivePartial<Sort.AsObject>);
        get fields(): armonikApiGrpcV1Applications000.ApplicationField[] | undefined;
        set fields(value: armonikApiGrpcV1Applications000.ApplicationField[] | undefined);
        get direction(): armonikApiGrpcV1Sort_direction003.SortDirection;
        set direction(value: armonikApiGrpcV1Sort_direction003.SortDirection);
        /**
         * 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(): Sort.AsObject;
        /**
         * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
         */
        toJSON(): Sort.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): Sort.AsProtobufJSON;
    }
    namespace Sort {
        /**
         * Standard JavaScript object representation for Sort
         */
        interface AsObject {
            fields?: armonikApiGrpcV1Applications000.ApplicationField.AsObject[];
            direction: armonikApiGrpcV1Sort_direction003.SortDirection;
        }
        /**
         * Protobuf JSON representation for Sort
         */
        interface AsProtobufJSON {
            fields: armonikApiGrpcV1Applications000.ApplicationField.AsProtobufJSON[] | null;
            direction: string;
        }
    }
}
/**
 * Message implementation for armonik.api.grpc.v1.applications.ListApplicationsResponse
 */
export declare class ListApplicationsResponse implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): ListApplicationsResponse;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: ListApplicationsResponse): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: ListApplicationsResponse, _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: ListApplicationsResponse, _writer: BinaryWriter): void;
    private _applications?;
    private _page;
    private _pageSize;
    private _total;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of ListApplicationsResponse to deeply clone from
     */
    constructor(_value?: RecursivePartial<ListApplicationsResponse.AsObject>);
    get applications(): ApplicationRaw[] | undefined;
    set applications(value: ApplicationRaw[] | undefined);
    get page(): number;
    set page(value: number);
    get pageSize(): number;
    set pageSize(value: number);
    get total(): number;
    set total(value: number);
    /**
     * 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(): ListApplicationsResponse.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): ListApplicationsResponse.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): ListApplicationsResponse.AsProtobufJSON;
}
export declare namespace ListApplicationsResponse {
    /**
     * Standard JavaScript object representation for ListApplicationsResponse
     */
    interface AsObject {
        applications?: ApplicationRaw.AsObject[];
        page: number;
        pageSize: number;
        total: number;
    }
    /**
     * Protobuf JSON representation for ListApplicationsResponse
     */
    interface AsProtobufJSON {
        applications: ApplicationRaw.AsProtobufJSON[] | null;
        page: number;
        pageSize: number;
        total: number;
    }
}
