/**
 * Generated by the protoc-gen-ts.  DO NOT EDIT!
 * compiler version: 3.19.1
 * source: google/firestore/v1beta1/query.proto
 * git: https://github.com/thesayyn/protoc-gen-ts */
import * as dependency_1 from "./document";
import * as dependency_2 from "./../../protobuf/wrappers";
import * as pb_1 from "google-protobuf";
export declare class StructuredQuery extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        select?: StructuredQueryProjection;
        from?: StructuredQueryCollectionSelector[];
        where?: StructuredQueryFilter;
        order_by?: StructuredQueryOrder[];
        start_at?: Cursor;
        end_at?: Cursor;
        offset?: number;
        limit?: dependency_2.Int32Value;
    });
    get select(): StructuredQueryProjection;
    set select(value: StructuredQueryProjection);
    get has_select(): boolean;
    get from(): StructuredQueryCollectionSelector[];
    set from(value: StructuredQueryCollectionSelector[]);
    get where(): StructuredQueryFilter;
    set where(value: StructuredQueryFilter);
    get has_where(): boolean;
    get order_by(): StructuredQueryOrder[];
    set order_by(value: StructuredQueryOrder[]);
    get start_at(): Cursor;
    set start_at(value: Cursor);
    get has_start_at(): boolean;
    get end_at(): Cursor;
    set end_at(value: Cursor);
    get has_end_at(): boolean;
    get offset(): number;
    set offset(value: number);
    get limit(): dependency_2.Int32Value;
    set limit(value: dependency_2.Int32Value);
    get has_limit(): boolean;
    static fromObject(data: {
        select?: ReturnType<typeof StructuredQueryProjection.prototype.toObject>;
        from?: ReturnType<typeof StructuredQueryCollectionSelector.prototype.toObject>[];
        where?: ReturnType<typeof StructuredQueryFilter.prototype.toObject>;
        order_by?: ReturnType<typeof StructuredQueryOrder.prototype.toObject>[];
        start_at?: ReturnType<typeof Cursor.prototype.toObject>;
        end_at?: ReturnType<typeof Cursor.prototype.toObject>;
        offset?: number;
        limit?: ReturnType<typeof dependency_2.Int32Value.prototype.toObject>;
    }): StructuredQuery;
    toObject(): {
        select?: ReturnType<typeof StructuredQueryProjection.prototype.toObject>;
        from?: ReturnType<typeof StructuredQueryCollectionSelector.prototype.toObject>[];
        where?: ReturnType<typeof StructuredQueryFilter.prototype.toObject>;
        order_by?: ReturnType<typeof StructuredQueryOrder.prototype.toObject>[];
        start_at?: ReturnType<typeof Cursor.prototype.toObject>;
        end_at?: ReturnType<typeof Cursor.prototype.toObject>;
        offset?: number;
        limit?: ReturnType<typeof dependency_2.Int32Value.prototype.toObject>;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQuery;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): StructuredQuery;
}
export declare enum StructuredQueryDirection {
    DIRECTION_UNSPECIFIED = 0,
    ASCENDING = 1,
    DESCENDING = 2
}
export declare class StructuredQueryCollectionSelector extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        collection_id?: string;
        all_descendants?: boolean;
    });
    get collection_id(): string;
    set collection_id(value: string);
    get all_descendants(): boolean;
    set all_descendants(value: boolean);
    static fromObject(data: {
        collection_id?: string;
        all_descendants?: boolean;
    }): StructuredQueryCollectionSelector;
    toObject(): {
        collection_id?: string;
        all_descendants?: boolean;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryCollectionSelector;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): StructuredQueryCollectionSelector;
}
export declare class StructuredQueryFilter extends pb_1.Message {
    #private;
    constructor(data?: any[] | ({} & (({
        composite_filter?: StructuredQueryCompositeFilter;
        field_filter?: never;
        unary_filter?: never;
    } | {
        composite_filter?: never;
        field_filter?: StructuredQueryFieldFilter;
        unary_filter?: never;
    } | {
        composite_filter?: never;
        field_filter?: never;
        unary_filter?: StructuredQueryUnaryFilter;
    }))));
    get composite_filter(): StructuredQueryCompositeFilter;
    set composite_filter(value: StructuredQueryCompositeFilter);
    get has_composite_filter(): boolean;
    get field_filter(): StructuredQueryFieldFilter;
    set field_filter(value: StructuredQueryFieldFilter);
    get has_field_filter(): boolean;
    get unary_filter(): StructuredQueryUnaryFilter;
    set unary_filter(value: StructuredQueryUnaryFilter);
    get has_unary_filter(): boolean;
    get filter_type(): "none" | "composite_filter" | "field_filter" | "unary_filter";
    static fromObject(data: {
        composite_filter?: ReturnType<typeof StructuredQueryCompositeFilter.prototype.toObject>;
        field_filter?: ReturnType<typeof StructuredQueryFieldFilter.prototype.toObject>;
        unary_filter?: ReturnType<typeof StructuredQueryUnaryFilter.prototype.toObject>;
    }): StructuredQueryFilter;
    toObject(): {
        composite_filter?: ReturnType<typeof StructuredQueryCompositeFilter.prototype.toObject>;
        field_filter?: ReturnType<typeof StructuredQueryFieldFilter.prototype.toObject>;
        unary_filter?: ReturnType<typeof StructuredQueryUnaryFilter.prototype.toObject>;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryFilter;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): StructuredQueryFilter;
}
export declare class StructuredQueryCompositeFilter extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        op?: StructuredQueryCompositeFilterOperator;
        filters?: StructuredQueryFilter[];
    });
    get op(): StructuredQueryCompositeFilterOperator;
    set op(value: StructuredQueryCompositeFilterOperator);
    get filters(): StructuredQueryFilter[];
    set filters(value: StructuredQueryFilter[]);
    static fromObject(data: {
        op?: StructuredQueryCompositeFilterOperator;
        filters?: ReturnType<typeof StructuredQueryFilter.prototype.toObject>[];
    }): StructuredQueryCompositeFilter;
    toObject(): {
        op?: StructuredQueryCompositeFilterOperator;
        filters?: ReturnType<typeof StructuredQueryFilter.prototype.toObject>[];
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryCompositeFilter;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): StructuredQueryCompositeFilter;
}
export declare enum StructuredQueryCompositeFilterOperator {
    OPERATOR_UNSPECIFIED = 0,
    AND = 1
}
export declare class StructuredQueryFieldFilter extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        field?: StructuredQueryFieldReference;
        op?: StructuredQueryFieldFilterOperator;
        value?: dependency_1.Value;
    });
    get field(): StructuredQueryFieldReference;
    set field(value: StructuredQueryFieldReference);
    get has_field(): boolean;
    get op(): StructuredQueryFieldFilterOperator;
    set op(value: StructuredQueryFieldFilterOperator);
    get value(): dependency_1.Value;
    set value(value: dependency_1.Value);
    get has_value(): boolean;
    static fromObject(data: {
        field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;
        op?: StructuredQueryFieldFilterOperator;
        value?: ReturnType<typeof dependency_1.Value.prototype.toObject>;
    }): StructuredQueryFieldFilter;
    toObject(): {
        field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;
        op?: StructuredQueryFieldFilterOperator;
        value?: ReturnType<typeof dependency_1.Value.prototype.toObject>;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryFieldFilter;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): StructuredQueryFieldFilter;
}
export declare enum StructuredQueryFieldFilterOperator {
    OPERATOR_UNSPECIFIED = 0,
    LESS_THAN = 1,
    LESS_THAN_OR_EQUAL = 2,
    GREATER_THAN = 3,
    GREATER_THAN_OR_EQUAL = 4,
    EQUAL = 5,
    NOT_EQUAL = 6,
    ARRAY_CONTAINS = 7,
    IN = 8,
    ARRAY_CONTAINS_ANY = 9,
    NOT_IN = 10
}
export declare class StructuredQueryUnaryFilter extends pb_1.Message {
    #private;
    constructor(data?: any[] | ({
        op?: StructuredQueryUnaryFilterOperator;
    } & (({
        field?: StructuredQueryFieldReference;
    }))));
    get op(): StructuredQueryUnaryFilterOperator;
    set op(value: StructuredQueryUnaryFilterOperator);
    get field(): StructuredQueryFieldReference;
    set field(value: StructuredQueryFieldReference);
    get has_field(): boolean;
    get operand_type(): "none" | "field";
    static fromObject(data: {
        op?: StructuredQueryUnaryFilterOperator;
        field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;
    }): StructuredQueryUnaryFilter;
    toObject(): {
        op?: StructuredQueryUnaryFilterOperator;
        field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryUnaryFilter;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): StructuredQueryUnaryFilter;
}
export declare enum StructuredQueryUnaryFilterOperator {
    OPERATOR_UNSPECIFIED = 0,
    IS_NAN = 2,
    IS_NULL = 3,
    IS_NOT_NAN = 4,
    IS_NOT_NULL = 5
}
export declare class StructuredQueryFieldReference extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        field_path?: string;
    });
    get field_path(): string;
    set field_path(value: string);
    static fromObject(data: {
        field_path?: string;
    }): StructuredQueryFieldReference;
    toObject(): {
        field_path?: string;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryFieldReference;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): StructuredQueryFieldReference;
}
export declare class StructuredQueryOrder extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        field?: StructuredQueryFieldReference;
        direction?: StructuredQueryDirection;
    });
    get field(): StructuredQueryFieldReference;
    set field(value: StructuredQueryFieldReference);
    get has_field(): boolean;
    get direction(): StructuredQueryDirection;
    set direction(value: StructuredQueryDirection);
    static fromObject(data: {
        field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;
        direction?: StructuredQueryDirection;
    }): StructuredQueryOrder;
    toObject(): {
        field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;
        direction?: StructuredQueryDirection;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryOrder;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): StructuredQueryOrder;
}
export declare class StructuredQueryProjection extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        fields?: StructuredQueryFieldReference[];
    });
    get fields(): StructuredQueryFieldReference[];
    set fields(value: StructuredQueryFieldReference[]);
    static fromObject(data: {
        fields?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>[];
    }): StructuredQueryProjection;
    toObject(): {
        fields?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>[];
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryProjection;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): StructuredQueryProjection;
}
export declare class Cursor extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        values?: dependency_1.Value[];
        before?: boolean;
    });
    get values(): dependency_1.Value[];
    set values(value: dependency_1.Value[]);
    get before(): boolean;
    set before(value: boolean);
    static fromObject(data: {
        values?: ReturnType<typeof dependency_1.Value.prototype.toObject>[];
        before?: boolean;
    }): Cursor;
    toObject(): {
        values?: ReturnType<typeof dependency_1.Value.prototype.toObject>[];
        before?: boolean;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Cursor;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): Cursor;
}
//# sourceMappingURL=query.d.ts.map