import { GrpcMessage, RecursivePartial, ToProtobufJSONOptions } from '@ngx-grpc/common';
import { BinaryReader, BinaryWriter, ByteSource } from 'google-protobuf';
import * as googleProtobuf000 from '@ngx-grpc/well-known-types';
import * as googleProtobuf001 from '@ngx-grpc/well-known-types';
export declare enum FilterStringOperator {
    FILTER_STRING_OPERATOR_EQUAL = 0,
    FILTER_STRING_OPERATOR_NOT_EQUAL = 1,
    FILTER_STRING_OPERATOR_CONTAINS = 2,
    FILTER_STRING_OPERATOR_NOT_CONTAINS = 3,
    FILTER_STRING_OPERATOR_STARTS_WITH = 4,
    FILTER_STRING_OPERATOR_ENDS_WITH = 5
}
export declare enum FilterNumberOperator {
    FILTER_NUMBER_OPERATOR_EQUAL = 0,
    FILTER_NUMBER_OPERATOR_NOT_EQUAL = 1,
    FILTER_NUMBER_OPERATOR_LESS_THAN = 2,
    FILTER_NUMBER_OPERATOR_LESS_THAN_OR_EQUAL = 3,
    FILTER_NUMBER_OPERATOR_GREATER_THAN_OR_EQUAL = 4,
    FILTER_NUMBER_OPERATOR_GREATER_THAN = 5
}
export declare enum FilterDateOperator {
    FILTER_DATE_OPERATOR_EQUAL = 0,
    FILTER_DATE_OPERATOR_NOT_EQUAL = 1,
    FILTER_DATE_OPERATOR_BEFORE = 2,
    FILTER_DATE_OPERATOR_BEFORE_OR_EQUAL = 3,
    FILTER_DATE_OPERATOR_AFTER_OR_EQUAL = 4,
    FILTER_DATE_OPERATOR_AFTER = 5
}
export declare enum FilterArrayOperator {
    FILTER_ARRAY_OPERATOR_CONTAINS = 0,
    FILTER_ARRAY_OPERATOR_NOT_CONTAINS = 1
}
export declare enum FilterStatusOperator {
    FILTER_STATUS_OPERATOR_EQUAL = 0,
    FILTER_STATUS_OPERATOR_NOT_EQUAL = 1
}
export declare enum FilterBooleanOperator {
    FILTER_BOOLEAN_OPERATOR_IS = 0
}
export declare enum FilterDurationOperator {
    FILTER_DURATION_OPERATOR_EQUAL = 0,
    FILTER_DURATION_OPERATOR_NOT_EQUAL = 1,
    FILTER_DURATION_OPERATOR_SHORTER_THAN = 2,
    FILTER_DURATION_OPERATOR_SHORTER_THAN_OR_EQUAL = 3,
    FILTER_DURATION_OPERATOR_LONGER_THAN_OR_EQUAL = 4,
    FILTER_DURATION_OPERATOR_LONGER_THAN = 5
}
/**
 * Message implementation for armonik.api.grpc.v1.FilterString
 */
export declare class FilterString implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): FilterString;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: FilterString): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: FilterString, _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: FilterString, _writer: BinaryWriter): void;
    private _value;
    private _operator;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of FilterString to deeply clone from
     */
    constructor(_value?: RecursivePartial<FilterString.AsObject>);
    get value(): string;
    set value(value: string);
    get operator(): FilterStringOperator;
    set operator(value: FilterStringOperator);
    /**
     * 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(): FilterString.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): FilterString.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): FilterString.AsProtobufJSON;
}
export declare namespace FilterString {
    /**
     * Standard JavaScript object representation for FilterString
     */
    interface AsObject {
        value: string;
        operator: FilterStringOperator;
    }
    /**
     * Protobuf JSON representation for FilterString
     */
    interface AsProtobufJSON {
        value: string;
        operator: string;
    }
}
/**
 * Message implementation for armonik.api.grpc.v1.FilterNumber
 */
export declare class FilterNumber implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): FilterNumber;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: FilterNumber): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: FilterNumber, _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: FilterNumber, _writer: BinaryWriter): void;
    private _value;
    private _operator;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of FilterNumber to deeply clone from
     */
    constructor(_value?: RecursivePartial<FilterNumber.AsObject>);
    get value(): string;
    set value(value: string);
    get operator(): FilterNumberOperator;
    set operator(value: FilterNumberOperator);
    /**
     * 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(): FilterNumber.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): FilterNumber.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): FilterNumber.AsProtobufJSON;
}
export declare namespace FilterNumber {
    /**
     * Standard JavaScript object representation for FilterNumber
     */
    interface AsObject {
        value: string;
        operator: FilterNumberOperator;
    }
    /**
     * Protobuf JSON representation for FilterNumber
     */
    interface AsProtobufJSON {
        value: string;
        operator: string;
    }
}
/**
 * Message implementation for armonik.api.grpc.v1.FilterDate
 */
export declare class FilterDate implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): FilterDate;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: FilterDate): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: FilterDate, _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: FilterDate, _writer: BinaryWriter): void;
    private _value?;
    private _operator;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of FilterDate to deeply clone from
     */
    constructor(_value?: RecursivePartial<FilterDate.AsObject>);
    get value(): googleProtobuf001.Timestamp | undefined;
    set value(value: googleProtobuf001.Timestamp | undefined);
    get operator(): FilterDateOperator;
    set operator(value: FilterDateOperator);
    /**
     * 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(): FilterDate.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): FilterDate.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): FilterDate.AsProtobufJSON;
}
export declare namespace FilterDate {
    /**
     * Standard JavaScript object representation for FilterDate
     */
    interface AsObject {
        value?: googleProtobuf001.Timestamp.AsObject;
        operator: FilterDateOperator;
    }
    /**
     * Protobuf JSON representation for FilterDate
     */
    interface AsProtobufJSON {
        value: googleProtobuf001.Timestamp.AsProtobufJSON | null;
        operator: string;
    }
}
/**
 * Message implementation for armonik.api.grpc.v1.FilterArray
 */
export declare class FilterArray implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): FilterArray;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: FilterArray): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: FilterArray, _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: FilterArray, _writer: BinaryWriter): void;
    private _value;
    private _operator;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of FilterArray to deeply clone from
     */
    constructor(_value?: RecursivePartial<FilterArray.AsObject>);
    get value(): string;
    set value(value: string);
    get operator(): FilterArrayOperator;
    set operator(value: FilterArrayOperator);
    /**
     * 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(): FilterArray.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): FilterArray.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): FilterArray.AsProtobufJSON;
}
export declare namespace FilterArray {
    /**
     * Standard JavaScript object representation for FilterArray
     */
    interface AsObject {
        value: string;
        operator: FilterArrayOperator;
    }
    /**
     * Protobuf JSON representation for FilterArray
     */
    interface AsProtobufJSON {
        value: string;
        operator: string;
    }
}
/**
 * Message implementation for armonik.api.grpc.v1.FilterBoolean
 */
export declare class FilterBoolean implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): FilterBoolean;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: FilterBoolean): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: FilterBoolean, _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: FilterBoolean, _writer: BinaryWriter): void;
    private _value;
    private _operator;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of FilterBoolean to deeply clone from
     */
    constructor(_value?: RecursivePartial<FilterBoolean.AsObject>);
    get value(): boolean;
    set value(value: boolean);
    get operator(): FilterBooleanOperator;
    set operator(value: FilterBooleanOperator);
    /**
     * 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(): FilterBoolean.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): FilterBoolean.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): FilterBoolean.AsProtobufJSON;
}
export declare namespace FilterBoolean {
    /**
     * Standard JavaScript object representation for FilterBoolean
     */
    interface AsObject {
        value: boolean;
        operator: FilterBooleanOperator;
    }
    /**
     * Protobuf JSON representation for FilterBoolean
     */
    interface AsProtobufJSON {
        value: boolean;
        operator: string;
    }
}
/**
 * Message implementation for armonik.api.grpc.v1.FilterDuration
 */
export declare class FilterDuration implements GrpcMessage {
    static id: string;
    /**
     * Deserialize binary data to message
     * @param instance message instance
     */
    static deserializeBinary(bytes: ByteSource): FilterDuration;
    /**
     * Check all the properties and set default protobuf values if necessary
     * @param _instance message instance
     */
    static refineValues(_instance: FilterDuration): void;
    /**
     * Deserializes / reads binary message into message instance using provided binary reader
     * @param _instance message instance
     * @param _reader binary reader instance
     */
    static deserializeBinaryFromReader(_instance: FilterDuration, _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: FilterDuration, _writer: BinaryWriter): void;
    private _value?;
    private _operator;
    /**
     * Message constructor. Initializes the properties and applies default Protobuf values if necessary
     * @param _value initial values object or instance of FilterDuration to deeply clone from
     */
    constructor(_value?: RecursivePartial<FilterDuration.AsObject>);
    get value(): googleProtobuf000.Duration | undefined;
    set value(value: googleProtobuf000.Duration | undefined);
    get operator(): FilterDurationOperator;
    set operator(value: FilterDurationOperator);
    /**
     * 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(): FilterDuration.AsObject;
    /**
     * Convenience method to support JSON.stringify(message), replicates the structure of toObject()
     */
    toJSON(): FilterDuration.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): FilterDuration.AsProtobufJSON;
}
export declare namespace FilterDuration {
    /**
     * Standard JavaScript object representation for FilterDuration
     */
    interface AsObject {
        value?: googleProtobuf000.Duration.AsObject;
        operator: FilterDurationOperator;
    }
    /**
     * Protobuf JSON representation for FilterDuration
     */
    interface AsProtobufJSON {
        value: googleProtobuf000.Duration.AsProtobufJSON | null;
        operator: string;
    }
}
