/**
 * Generated by the protoc-gen-ts.  DO NOT EDIT!
 * compiler version: 3.19.1
 * source: firestore/bundle.proto
 * git: https://github.com/thesayyn/protoc-gen-ts */
import * as dependency_1 from "./../google/firestore/v1/document";
import * as dependency_2 from "./../google/firestore/v1/query";
import * as dependency_3 from "./../google/protobuf/timestamp";
import * as pb_1 from "google-protobuf";
export declare class BundledQuery extends pb_1.Message {
    #private;
    constructor(data?: any[] | ({
        parent?: string;
        limit_type?: BundledQueryLimitType;
    } & (({
        structured_query?: dependency_2.StructuredQuery;
    }))));
    get parent(): string;
    set parent(value: string);
    get structured_query(): dependency_2.StructuredQuery;
    set structured_query(value: dependency_2.StructuredQuery);
    get has_structured_query(): boolean;
    get limit_type(): BundledQueryLimitType;
    set limit_type(value: BundledQueryLimitType);
    get query_type(): "none" | "structured_query";
    static fromObject(data: {
        parent?: string;
        structured_query?: ReturnType<typeof dependency_2.StructuredQuery.prototype.toObject>;
        limit_type?: BundledQueryLimitType;
    }): BundledQuery;
    toObject(): {
        parent?: string;
        structured_query?: ReturnType<typeof dependency_2.StructuredQuery.prototype.toObject>;
        limit_type?: BundledQueryLimitType;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BundledQuery;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): BundledQuery;
}
export declare enum BundledQueryLimitType {
    FIRST = 0,
    LAST = 1
}
export declare class NamedQuery extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        name?: string;
        bundled_query?: BundledQuery;
        read_time?: dependency_3.Timestamp;
    });
    get name(): string;
    set name(value: string);
    get bundled_query(): BundledQuery;
    set bundled_query(value: BundledQuery);
    get has_bundled_query(): boolean;
    get read_time(): dependency_3.Timestamp;
    set read_time(value: dependency_3.Timestamp);
    get has_read_time(): boolean;
    static fromObject(data: {
        name?: string;
        bundled_query?: ReturnType<typeof BundledQuery.prototype.toObject>;
        read_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;
    }): NamedQuery;
    toObject(): {
        name?: string;
        bundled_query?: ReturnType<typeof BundledQuery.prototype.toObject>;
        read_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): NamedQuery;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): NamedQuery;
}
export declare class BundledDocumentMetadata extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        name?: string;
        read_time?: dependency_3.Timestamp;
        exists?: boolean;
        queries?: string[];
    });
    get name(): string;
    set name(value: string);
    get read_time(): dependency_3.Timestamp;
    set read_time(value: dependency_3.Timestamp);
    get has_read_time(): boolean;
    get exists(): boolean;
    set exists(value: boolean);
    get queries(): string[];
    set queries(value: string[]);
    static fromObject(data: {
        name?: string;
        read_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;
        exists?: boolean;
        queries?: string[];
    }): BundledDocumentMetadata;
    toObject(): {
        name?: string;
        read_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;
        exists?: boolean;
        queries?: string[];
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BundledDocumentMetadata;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): BundledDocumentMetadata;
}
export declare class BundleMetadata extends pb_1.Message {
    #private;
    constructor(data?: any[] | {
        id?: string;
        create_time?: dependency_3.Timestamp;
        version?: number;
        total_documents?: number;
        total_bytes?: number;
    });
    get id(): string;
    set id(value: string);
    get create_time(): dependency_3.Timestamp;
    set create_time(value: dependency_3.Timestamp);
    get has_create_time(): boolean;
    get version(): number;
    set version(value: number);
    get total_documents(): number;
    set total_documents(value: number);
    get total_bytes(): number;
    set total_bytes(value: number);
    static fromObject(data: {
        id?: string;
        create_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;
        version?: number;
        total_documents?: number;
        total_bytes?: number;
    }): BundleMetadata;
    toObject(): {
        id?: string;
        create_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;
        version?: number;
        total_documents?: number;
        total_bytes?: number;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BundleMetadata;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): BundleMetadata;
}
export declare class BundleElement extends pb_1.Message {
    #private;
    constructor(data?: any[] | ({} & (({
        metadata?: BundleMetadata;
        named_query?: never;
        document_metadata?: never;
        document?: never;
    } | {
        metadata?: never;
        named_query?: NamedQuery;
        document_metadata?: never;
        document?: never;
    } | {
        metadata?: never;
        named_query?: never;
        document_metadata?: BundledDocumentMetadata;
        document?: never;
    } | {
        metadata?: never;
        named_query?: never;
        document_metadata?: never;
        document?: dependency_1.Document;
    }))));
    get metadata(): BundleMetadata;
    set metadata(value: BundleMetadata);
    get has_metadata(): boolean;
    get named_query(): NamedQuery;
    set named_query(value: NamedQuery);
    get has_named_query(): boolean;
    get document_metadata(): BundledDocumentMetadata;
    set document_metadata(value: BundledDocumentMetadata);
    get has_document_metadata(): boolean;
    get document(): dependency_1.Document;
    set document(value: dependency_1.Document);
    get has_document(): boolean;
    get element_type(): "none" | "metadata" | "document" | "named_query" | "document_metadata";
    static fromObject(data: {
        metadata?: ReturnType<typeof BundleMetadata.prototype.toObject>;
        named_query?: ReturnType<typeof NamedQuery.prototype.toObject>;
        document_metadata?: ReturnType<typeof BundledDocumentMetadata.prototype.toObject>;
        document?: ReturnType<typeof dependency_1.Document.prototype.toObject>;
    }): BundleElement;
    toObject(): {
        metadata?: ReturnType<typeof BundleMetadata.prototype.toObject>;
        named_query?: ReturnType<typeof NamedQuery.prototype.toObject>;
        document_metadata?: ReturnType<typeof BundledDocumentMetadata.prototype.toObject>;
        document?: ReturnType<typeof dependency_1.Document.prototype.toObject>;
    };
    serialize(): Uint8Array;
    serialize(w: pb_1.BinaryWriter): void;
    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BundleElement;
    serializeBinary(): Uint8Array;
    static deserializeBinary(bytes: Uint8Array): BundleElement;
}
//# sourceMappingURL=bundle.d.ts.map