{"version":3,"sources":["../../generated/google/protobuf/struct.ts","../../generated/google/protobuf/timestamp.ts","../../generated/google/type/latlng.ts","../../generated/google/firestore/v1/document.ts","../../generated/google/protobuf/wrappers.ts","../../generated/google/firestore/v1/query.ts","../../generated/firestore/bundle.ts"],"sourcesContent":["/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/protobuf/struct.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport enum NullValue {\n    NULL_VALUE = 0\n}\nexport class Struct extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        fields?: Map<string, Value>;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"fields\" in data && data.fields != undefined) {\n                this.fields = data.fields;\n            }\n        }\n        if (!this.fields)\n            this.fields = new Map();\n    }\n    get fields() {\n        return pb_1.Message.getField(this, 1) as any as Map<string, Value>;\n    }\n    set fields(value: Map<string, Value>) {\n        pb_1.Message.setField(this, 1, value as any);\n    }\n    static fromObject(data: {\n        fields?: {\n            [key: string]: ReturnType<typeof Value.prototype.toObject>;\n        };\n    }): Struct {\n        const message = new Struct({});\n        if (typeof data.fields == \"object\") {\n            message.fields = new Map(Object.entries(data.fields).map(([key, value]) => [key, Value.fromObject(value)]));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            fields?: {\n                [key: string]: ReturnType<typeof Value.prototype.toObject>;\n            };\n        } = {};\n        if (this.fields != null) {\n            data.fields = (Object.fromEntries)((Array.from)(this.fields).map(([key, value]) => [key, value.toObject()]));\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        for (const [key, value] of this.fields) {\n            writer.writeMessage(1, this.fields, () => {\n                writer.writeString(1, key);\n                writer.writeMessage(2, value, () => value.serialize(writer));\n            });\n        }\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Struct {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Struct();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message, () => pb_1.Map.deserializeBinary(message.fields as any, reader, reader.readString, () => {\n                        let value;\n                        reader.readMessage(message, () => value = Value.deserialize(reader));\n                        return value;\n                    }));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Struct {\n        return Struct.deserialize(bytes);\n    }\n}\nexport class Value extends pb_1.Message {\n    #one_of_decls: number[][] = [[1, 2, 3, 4, 5, 6]];\n    constructor(data?: any[] | ({} & (({\n        null_value?: NullValue;\n        number_value?: never;\n        string_value?: never;\n        bool_value?: never;\n        struct_value?: never;\n        list_value?: never;\n    } | {\n        null_value?: never;\n        number_value?: number;\n        string_value?: never;\n        bool_value?: never;\n        struct_value?: never;\n        list_value?: never;\n    } | {\n        null_value?: never;\n        number_value?: never;\n        string_value?: string;\n        bool_value?: never;\n        struct_value?: never;\n        list_value?: never;\n    } | {\n        null_value?: never;\n        number_value?: never;\n        string_value?: never;\n        bool_value?: boolean;\n        struct_value?: never;\n        list_value?: never;\n    } | {\n        null_value?: never;\n        number_value?: never;\n        string_value?: never;\n        bool_value?: never;\n        struct_value?: Struct;\n        list_value?: never;\n    } | {\n        null_value?: never;\n        number_value?: never;\n        string_value?: never;\n        bool_value?: never;\n        struct_value?: never;\n        list_value?: ListValue;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"null_value\" in data && data.null_value != undefined) {\n                this.null_value = data.null_value;\n            }\n            if (\"number_value\" in data && data.number_value != undefined) {\n                this.number_value = data.number_value;\n            }\n            if (\"string_value\" in data && data.string_value != undefined) {\n                this.string_value = data.string_value;\n            }\n            if (\"bool_value\" in data && data.bool_value != undefined) {\n                this.bool_value = data.bool_value;\n            }\n            if (\"struct_value\" in data && data.struct_value != undefined) {\n                this.struct_value = data.struct_value;\n            }\n            if (\"list_value\" in data && data.list_value != undefined) {\n                this.list_value = data.list_value;\n            }\n        }\n    }\n    get null_value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, NullValue.NULL_VALUE) as NullValue;\n    }\n    set null_value(value: NullValue) {\n        pb_1.Message.setOneofField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_null_value() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get number_value() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set number_value(value: number) {\n        pb_1.Message.setOneofField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_number_value() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get string_value() {\n        return pb_1.Message.getFieldWithDefault(this, 3, \"\") as string;\n    }\n    set string_value(value: string) {\n        pb_1.Message.setOneofField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_string_value() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get bool_value() {\n        return pb_1.Message.getFieldWithDefault(this, 4, false) as boolean;\n    }\n    set bool_value(value: boolean) {\n        pb_1.Message.setOneofField(this, 4, this.#one_of_decls[0], value);\n    }\n    get has_bool_value() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get struct_value() {\n        return pb_1.Message.getWrapperField(this, Struct, 5) as Struct;\n    }\n    set struct_value(value: Struct) {\n        pb_1.Message.setOneofWrapperField(this, 5, this.#one_of_decls[0], value);\n    }\n    get has_struct_value() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get list_value() {\n        return pb_1.Message.getWrapperField(this, ListValue, 6) as ListValue;\n    }\n    set list_value(value: ListValue) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);\n    }\n    get has_list_value() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get kind() {\n        const cases: {\n            [index: number]: \"none\" | \"null_value\" | \"number_value\" | \"string_value\" | \"bool_value\" | \"struct_value\" | \"list_value\";\n        } = {\n            0: \"none\",\n            1: \"null_value\",\n            2: \"number_value\",\n            3: \"string_value\",\n            4: \"bool_value\",\n            5: \"struct_value\",\n            6: \"list_value\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [1, 2, 3, 4, 5, 6])];\n    }\n    static fromObject(data: {\n        null_value?: NullValue;\n        number_value?: number;\n        string_value?: string;\n        bool_value?: boolean;\n        struct_value?: ReturnType<typeof Struct.prototype.toObject>;\n        list_value?: ReturnType<typeof ListValue.prototype.toObject>;\n    }): Value {\n        const message = new Value({});\n        if (data.null_value != null) {\n            message.null_value = data.null_value;\n        }\n        if (data.number_value != null) {\n            message.number_value = data.number_value;\n        }\n        if (data.string_value != null) {\n            message.string_value = data.string_value;\n        }\n        if (data.bool_value != null) {\n            message.bool_value = data.bool_value;\n        }\n        if (data.struct_value != null) {\n            message.struct_value = Struct.fromObject(data.struct_value);\n        }\n        if (data.list_value != null) {\n            message.list_value = ListValue.fromObject(data.list_value);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            null_value?: NullValue;\n            number_value?: number;\n            string_value?: string;\n            bool_value?: boolean;\n            struct_value?: ReturnType<typeof Struct.prototype.toObject>;\n            list_value?: ReturnType<typeof ListValue.prototype.toObject>;\n        } = {};\n        if (this.null_value != null) {\n            data.null_value = this.null_value;\n        }\n        if (this.number_value != null) {\n            data.number_value = this.number_value;\n        }\n        if (this.string_value != null) {\n            data.string_value = this.string_value;\n        }\n        if (this.bool_value != null) {\n            data.bool_value = this.bool_value;\n        }\n        if (this.struct_value != null) {\n            data.struct_value = this.struct_value.toObject();\n        }\n        if (this.list_value != null) {\n            data.list_value = this.list_value.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_null_value)\n            writer.writeEnum(1, this.null_value);\n        if (this.has_number_value)\n            writer.writeDouble(2, this.number_value);\n        if (this.has_string_value)\n            writer.writeString(3, this.string_value);\n        if (this.has_bool_value)\n            writer.writeBool(4, this.bool_value);\n        if (this.has_struct_value)\n            writer.writeMessage(5, this.struct_value, () => this.struct_value.serialize(writer));\n        if (this.has_list_value)\n            writer.writeMessage(6, this.list_value, () => this.list_value.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Value {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Value();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.null_value = reader.readEnum();\n                    break;\n                case 2:\n                    message.number_value = reader.readDouble();\n                    break;\n                case 3:\n                    message.string_value = reader.readString();\n                    break;\n                case 4:\n                    message.bool_value = reader.readBool();\n                    break;\n                case 5:\n                    reader.readMessage(message.struct_value, () => message.struct_value = Struct.deserialize(reader));\n                    break;\n                case 6:\n                    reader.readMessage(message.list_value, () => message.list_value = ListValue.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Value {\n        return Value.deserialize(bytes);\n    }\n}\nexport class ListValue extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        values?: Value[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"values\" in data && data.values != undefined) {\n                this.values = data.values;\n            }\n        }\n    }\n    get values() {\n        return pb_1.Message.getRepeatedWrapperField(this, Value, 1) as Value[];\n    }\n    set values(value: Value[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    static fromObject(data: {\n        values?: ReturnType<typeof Value.prototype.toObject>[];\n    }): ListValue {\n        const message = new ListValue({});\n        if (data.values != null) {\n            message.values = data.values.map(item => Value.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            values?: ReturnType<typeof Value.prototype.toObject>[];\n        } = {};\n        if (this.values != null) {\n            data.values = this.values.map((item: Value) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.values.length)\n            writer.writeRepeatedMessage(1, this.values, (item: Value) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ListValue {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ListValue();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.values, () => pb_1.Message.addToRepeatedWrapperField(message, 1, Value.deserialize(reader), Value));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): ListValue {\n        return ListValue.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/protobuf/timestamp.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport class Timestamp extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        seconds?: number;\n        nanos?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"seconds\" in data && data.seconds != undefined) {\n                this.seconds = data.seconds;\n            }\n            if (\"nanos\" in data && data.nanos != undefined) {\n                this.nanos = data.nanos;\n            }\n        }\n    }\n    get seconds() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set seconds(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get nanos() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set nanos(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        seconds?: number;\n        nanos?: number;\n    }): Timestamp {\n        const message = new Timestamp({});\n        if (data.seconds != null) {\n            message.seconds = data.seconds;\n        }\n        if (data.nanos != null) {\n            message.nanos = data.nanos;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            seconds?: number;\n            nanos?: number;\n        } = {};\n        if (this.seconds != null) {\n            data.seconds = this.seconds;\n        }\n        if (this.nanos != null) {\n            data.nanos = this.nanos;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.seconds != 0)\n            writer.writeInt64(1, this.seconds);\n        if (this.nanos != 0)\n            writer.writeInt32(2, this.nanos);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Timestamp {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Timestamp();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.seconds = reader.readInt64();\n                    break;\n                case 2:\n                    message.nanos = reader.readInt32();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Timestamp {\n        return Timestamp.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/type/latlng.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport class LatLng extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        latitude?: number;\n        longitude?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"latitude\" in data && data.latitude != undefined) {\n                this.latitude = data.latitude;\n            }\n            if (\"longitude\" in data && data.longitude != undefined) {\n                this.longitude = data.longitude;\n            }\n        }\n    }\n    get latitude() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set latitude(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get longitude() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set longitude(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        latitude?: number;\n        longitude?: number;\n    }): LatLng {\n        const message = new LatLng({});\n        if (data.latitude != null) {\n            message.latitude = data.latitude;\n        }\n        if (data.longitude != null) {\n            message.longitude = data.longitude;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            latitude?: number;\n            longitude?: number;\n        } = {};\n        if (this.latitude != null) {\n            data.latitude = this.latitude;\n        }\n        if (this.longitude != null) {\n            data.longitude = this.longitude;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.latitude != 0)\n            writer.writeDouble(1, this.latitude);\n        if (this.longitude != 0)\n            writer.writeDouble(2, this.longitude);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): LatLng {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new LatLng();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.latitude = reader.readDouble();\n                    break;\n                case 2:\n                    message.longitude = reader.readDouble();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): LatLng {\n        return LatLng.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/firestore/v1/document.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./../../api/field_behavior\";\nimport * as dependency_2 from \"./../../protobuf/struct\";\nimport * as dependency_3 from \"./../../protobuf/timestamp\";\nimport * as dependency_4 from \"./../../type/latlng\";\nimport * as pb_1 from \"google-protobuf\";\nexport class Document extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        fields?: Map<string, Value>;\n        create_time?: dependency_3.Timestamp;\n        update_time?: dependency_3.Timestamp;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            if (\"fields\" in data && data.fields != undefined) {\n                this.fields = data.fields;\n            }\n            if (\"create_time\" in data && data.create_time != undefined) {\n                this.create_time = data.create_time;\n            }\n            if (\"update_time\" in data && data.update_time != undefined) {\n                this.update_time = data.update_time;\n            }\n        }\n        if (!this.fields)\n            this.fields = new Map();\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get fields() {\n        return pb_1.Message.getField(this, 2) as any as Map<string, Value>;\n    }\n    set fields(value: Map<string, Value>) {\n        pb_1.Message.setField(this, 2, value as any);\n    }\n    get create_time() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Timestamp, 3) as dependency_3.Timestamp;\n    }\n    set create_time(value: dependency_3.Timestamp) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_create_time() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get update_time() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Timestamp, 4) as dependency_3.Timestamp;\n    }\n    set update_time(value: dependency_3.Timestamp) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_update_time() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    static fromObject(data: {\n        name?: string;\n        fields?: {\n            [key: string]: ReturnType<typeof Value.prototype.toObject>;\n        };\n        create_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n        update_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n    }): Document {\n        const message = new Document({});\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (typeof data.fields == \"object\") {\n            message.fields = new Map(Object.entries(data.fields).map(([key, value]) => [key, Value.fromObject(value)]));\n        }\n        if (data.create_time != null) {\n            message.create_time = dependency_3.Timestamp.fromObject(data.create_time);\n        }\n        if (data.update_time != null) {\n            message.update_time = dependency_3.Timestamp.fromObject(data.update_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            fields?: {\n                [key: string]: ReturnType<typeof Value.prototype.toObject>;\n            };\n            create_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n            update_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.fields != null) {\n            data.fields = (Object.fromEntries)((Array.from)(this.fields).map(([key, value]) => [key, value.toObject()]));\n        }\n        if (this.create_time != null) {\n            data.create_time = this.create_time.toObject();\n        }\n        if (this.update_time != null) {\n            data.update_time = this.update_time.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.name.length)\n            writer.writeString(1, this.name);\n        for (const [key, value] of this.fields) {\n            writer.writeMessage(2, this.fields, () => {\n                writer.writeString(1, key);\n                writer.writeMessage(2, value, () => value.serialize(writer));\n            });\n        }\n        if (this.has_create_time)\n            writer.writeMessage(3, this.create_time, () => this.create_time.serialize(writer));\n        if (this.has_update_time)\n            writer.writeMessage(4, this.update_time, () => this.update_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Document {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Document();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message, () => pb_1.Map.deserializeBinary(message.fields as any, reader, reader.readString, () => {\n                        let value;\n                        reader.readMessage(message, () => value = Value.deserialize(reader));\n                        return value;\n                    }));\n                    break;\n                case 3:\n                    reader.readMessage(message.create_time, () => message.create_time = dependency_3.Timestamp.deserialize(reader));\n                    break;\n                case 4:\n                    reader.readMessage(message.update_time, () => message.update_time = dependency_3.Timestamp.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Document {\n        return Document.deserialize(bytes);\n    }\n}\nexport class Value extends pb_1.Message {\n    #one_of_decls: number[][] = [[11, 1, 2, 3, 10, 17, 18, 5, 8, 9, 6]];\n    constructor(data?: any[] | ({} & (({\n        null_value?: dependency_2.NullValue;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: boolean;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: number;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: number;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: dependency_3.Timestamp;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: string;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: Uint8Array;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: string;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: dependency_4.LatLng;\n        array_value?: never;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: ArrayValue;\n        map_value?: never;\n    } | {\n        null_value?: never;\n        boolean_value?: never;\n        integer_value?: never;\n        double_value?: never;\n        timestamp_value?: never;\n        string_value?: never;\n        bytes_value?: never;\n        reference_value?: never;\n        geo_point_value?: never;\n        array_value?: never;\n        map_value?: MapValue;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"null_value\" in data && data.null_value != undefined) {\n                this.null_value = data.null_value;\n            }\n            if (\"boolean_value\" in data && data.boolean_value != undefined) {\n                this.boolean_value = data.boolean_value;\n            }\n            if (\"integer_value\" in data && data.integer_value != undefined) {\n                this.integer_value = data.integer_value;\n            }\n            if (\"double_value\" in data && data.double_value != undefined) {\n                this.double_value = data.double_value;\n            }\n            if (\"timestamp_value\" in data && data.timestamp_value != undefined) {\n                this.timestamp_value = data.timestamp_value;\n            }\n            if (\"string_value\" in data && data.string_value != undefined) {\n                this.string_value = data.string_value;\n            }\n            if (\"bytes_value\" in data && data.bytes_value != undefined) {\n                this.bytes_value = data.bytes_value;\n            }\n            if (\"reference_value\" in data && data.reference_value != undefined) {\n                this.reference_value = data.reference_value;\n            }\n            if (\"geo_point_value\" in data && data.geo_point_value != undefined) {\n                this.geo_point_value = data.geo_point_value;\n            }\n            if (\"array_value\" in data && data.array_value != undefined) {\n                this.array_value = data.array_value;\n            }\n            if (\"map_value\" in data && data.map_value != undefined) {\n                this.map_value = data.map_value;\n            }\n        }\n    }\n    get null_value() {\n        return pb_1.Message.getFieldWithDefault(this, 11, dependency_2.NullValue.NULL_VALUE) as dependency_2.NullValue;\n    }\n    set null_value(value: dependency_2.NullValue) {\n        pb_1.Message.setOneofField(this, 11, this.#one_of_decls[0], value);\n    }\n    get has_null_value() {\n        return pb_1.Message.getField(this, 11) != null;\n    }\n    get boolean_value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, false) as boolean;\n    }\n    set boolean_value(value: boolean) {\n        pb_1.Message.setOneofField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_boolean_value() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get integer_value() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set integer_value(value: number) {\n        pb_1.Message.setOneofField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_integer_value() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get double_value() {\n        return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;\n    }\n    set double_value(value: number) {\n        pb_1.Message.setOneofField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_double_value() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get timestamp_value() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Timestamp, 10) as dependency_3.Timestamp;\n    }\n    set timestamp_value(value: dependency_3.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 10, this.#one_of_decls[0], value);\n    }\n    get has_timestamp_value() {\n        return pb_1.Message.getField(this, 10) != null;\n    }\n    get string_value() {\n        return pb_1.Message.getFieldWithDefault(this, 17, \"\") as string;\n    }\n    set string_value(value: string) {\n        pb_1.Message.setOneofField(this, 17, this.#one_of_decls[0], value);\n    }\n    get has_string_value() {\n        return pb_1.Message.getField(this, 17) != null;\n    }\n    get bytes_value() {\n        return pb_1.Message.getFieldWithDefault(this, 18, new Uint8Array(0)) as Uint8Array;\n    }\n    set bytes_value(value: Uint8Array) {\n        pb_1.Message.setOneofField(this, 18, this.#one_of_decls[0], value);\n    }\n    get has_bytes_value() {\n        return pb_1.Message.getField(this, 18) != null;\n    }\n    get reference_value() {\n        return pb_1.Message.getFieldWithDefault(this, 5, \"\") as string;\n    }\n    set reference_value(value: string) {\n        pb_1.Message.setOneofField(this, 5, this.#one_of_decls[0], value);\n    }\n    get has_reference_value() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get geo_point_value() {\n        return pb_1.Message.getWrapperField(this, dependency_4.LatLng, 8) as dependency_4.LatLng;\n    }\n    set geo_point_value(value: dependency_4.LatLng) {\n        pb_1.Message.setOneofWrapperField(this, 8, this.#one_of_decls[0], value);\n    }\n    get has_geo_point_value() {\n        return pb_1.Message.getField(this, 8) != null;\n    }\n    get array_value() {\n        return pb_1.Message.getWrapperField(this, ArrayValue, 9) as ArrayValue;\n    }\n    set array_value(value: ArrayValue) {\n        pb_1.Message.setOneofWrapperField(this, 9, this.#one_of_decls[0], value);\n    }\n    get has_array_value() {\n        return pb_1.Message.getField(this, 9) != null;\n    }\n    get map_value() {\n        return pb_1.Message.getWrapperField(this, MapValue, 6) as MapValue;\n    }\n    set map_value(value: MapValue) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);\n    }\n    get has_map_value() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get value_type() {\n        const cases: {\n            [index: number]: \"none\" | \"null_value\" | \"boolean_value\" | \"integer_value\" | \"double_value\" | \"timestamp_value\" | \"string_value\" | \"bytes_value\" | \"reference_value\" | \"geo_point_value\" | \"array_value\" | \"map_value\";\n        } = {\n            0: \"none\",\n            11: \"null_value\",\n            1: \"boolean_value\",\n            2: \"integer_value\",\n            3: \"double_value\",\n            10: \"timestamp_value\",\n            17: \"string_value\",\n            18: \"bytes_value\",\n            5: \"reference_value\",\n            8: \"geo_point_value\",\n            9: \"array_value\",\n            6: \"map_value\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [11, 1, 2, 3, 10, 17, 18, 5, 8, 9, 6])];\n    }\n    static fromObject(data: {\n        null_value?: dependency_2.NullValue;\n        boolean_value?: boolean;\n        integer_value?: number;\n        double_value?: number;\n        timestamp_value?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n        string_value?: string;\n        bytes_value?: Uint8Array;\n        reference_value?: string;\n        geo_point_value?: ReturnType<typeof dependency_4.LatLng.prototype.toObject>;\n        array_value?: ReturnType<typeof ArrayValue.prototype.toObject>;\n        map_value?: ReturnType<typeof MapValue.prototype.toObject>;\n    }): Value {\n        const message = new Value({});\n        if (data.null_value != null) {\n            message.null_value = data.null_value;\n        }\n        if (data.boolean_value != null) {\n            message.boolean_value = data.boolean_value;\n        }\n        if (data.integer_value != null) {\n            message.integer_value = data.integer_value;\n        }\n        if (data.double_value != null) {\n            message.double_value = data.double_value;\n        }\n        if (data.timestamp_value != null) {\n            message.timestamp_value = dependency_3.Timestamp.fromObject(data.timestamp_value);\n        }\n        if (data.string_value != null) {\n            message.string_value = data.string_value;\n        }\n        if (data.bytes_value != null) {\n            message.bytes_value = data.bytes_value;\n        }\n        if (data.reference_value != null) {\n            message.reference_value = data.reference_value;\n        }\n        if (data.geo_point_value != null) {\n            message.geo_point_value = dependency_4.LatLng.fromObject(data.geo_point_value);\n        }\n        if (data.array_value != null) {\n            message.array_value = ArrayValue.fromObject(data.array_value);\n        }\n        if (data.map_value != null) {\n            message.map_value = MapValue.fromObject(data.map_value);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            null_value?: dependency_2.NullValue;\n            boolean_value?: boolean;\n            integer_value?: number;\n            double_value?: number;\n            timestamp_value?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n            string_value?: string;\n            bytes_value?: Uint8Array;\n            reference_value?: string;\n            geo_point_value?: ReturnType<typeof dependency_4.LatLng.prototype.toObject>;\n            array_value?: ReturnType<typeof ArrayValue.prototype.toObject>;\n            map_value?: ReturnType<typeof MapValue.prototype.toObject>;\n        } = {};\n        if (this.null_value != null) {\n            data.null_value = this.null_value;\n        }\n        if (this.boolean_value != null) {\n            data.boolean_value = this.boolean_value;\n        }\n        if (this.integer_value != null) {\n            data.integer_value = this.integer_value;\n        }\n        if (this.double_value != null) {\n            data.double_value = this.double_value;\n        }\n        if (this.timestamp_value != null) {\n            data.timestamp_value = this.timestamp_value.toObject();\n        }\n        if (this.string_value != null) {\n            data.string_value = this.string_value;\n        }\n        if (this.bytes_value != null) {\n            data.bytes_value = this.bytes_value;\n        }\n        if (this.reference_value != null) {\n            data.reference_value = this.reference_value;\n        }\n        if (this.geo_point_value != null) {\n            data.geo_point_value = this.geo_point_value.toObject();\n        }\n        if (this.array_value != null) {\n            data.array_value = this.array_value.toObject();\n        }\n        if (this.map_value != null) {\n            data.map_value = this.map_value.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_null_value)\n            writer.writeEnum(11, this.null_value);\n        if (this.has_boolean_value)\n            writer.writeBool(1, this.boolean_value);\n        if (this.has_integer_value)\n            writer.writeInt64(2, this.integer_value);\n        if (this.has_double_value)\n            writer.writeDouble(3, this.double_value);\n        if (this.has_timestamp_value)\n            writer.writeMessage(10, this.timestamp_value, () => this.timestamp_value.serialize(writer));\n        if (this.has_string_value)\n            writer.writeString(17, this.string_value);\n        if (this.has_bytes_value)\n            writer.writeBytes(18, this.bytes_value);\n        if (this.has_reference_value)\n            writer.writeString(5, this.reference_value);\n        if (this.has_geo_point_value)\n            writer.writeMessage(8, this.geo_point_value, () => this.geo_point_value.serialize(writer));\n        if (this.has_array_value)\n            writer.writeMessage(9, this.array_value, () => this.array_value.serialize(writer));\n        if (this.has_map_value)\n            writer.writeMessage(6, this.map_value, () => this.map_value.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Value {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Value();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 11:\n                    message.null_value = reader.readEnum();\n                    break;\n                case 1:\n                    message.boolean_value = reader.readBool();\n                    break;\n                case 2:\n                    message.integer_value = reader.readInt64();\n                    break;\n                case 3:\n                    message.double_value = reader.readDouble();\n                    break;\n                case 10:\n                    reader.readMessage(message.timestamp_value, () => message.timestamp_value = dependency_3.Timestamp.deserialize(reader));\n                    break;\n                case 17:\n                    message.string_value = reader.readString();\n                    break;\n                case 18:\n                    message.bytes_value = reader.readBytes();\n                    break;\n                case 5:\n                    message.reference_value = reader.readString();\n                    break;\n                case 8:\n                    reader.readMessage(message.geo_point_value, () => message.geo_point_value = dependency_4.LatLng.deserialize(reader));\n                    break;\n                case 9:\n                    reader.readMessage(message.array_value, () => message.array_value = ArrayValue.deserialize(reader));\n                    break;\n                case 6:\n                    reader.readMessage(message.map_value, () => message.map_value = MapValue.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Value {\n        return Value.deserialize(bytes);\n    }\n}\nexport class ArrayValue extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        values?: Value[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"values\" in data && data.values != undefined) {\n                this.values = data.values;\n            }\n        }\n    }\n    get values() {\n        return pb_1.Message.getRepeatedWrapperField(this, Value, 1) as Value[];\n    }\n    set values(value: Value[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    static fromObject(data: {\n        values?: ReturnType<typeof Value.prototype.toObject>[];\n    }): ArrayValue {\n        const message = new ArrayValue({});\n        if (data.values != null) {\n            message.values = data.values.map(item => Value.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            values?: ReturnType<typeof Value.prototype.toObject>[];\n        } = {};\n        if (this.values != null) {\n            data.values = this.values.map((item: Value) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.values.length)\n            writer.writeRepeatedMessage(1, this.values, (item: Value) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ArrayValue {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ArrayValue();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.values, () => pb_1.Message.addToRepeatedWrapperField(message, 1, Value.deserialize(reader), Value));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): ArrayValue {\n        return ArrayValue.deserialize(bytes);\n    }\n}\nexport class MapValue extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        fields?: Map<string, Value>;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"fields\" in data && data.fields != undefined) {\n                this.fields = data.fields;\n            }\n        }\n        if (!this.fields)\n            this.fields = new Map();\n    }\n    get fields() {\n        return pb_1.Message.getField(this, 1) as any as Map<string, Value>;\n    }\n    set fields(value: Map<string, Value>) {\n        pb_1.Message.setField(this, 1, value as any);\n    }\n    static fromObject(data: {\n        fields?: {\n            [key: string]: ReturnType<typeof Value.prototype.toObject>;\n        };\n    }): MapValue {\n        const message = new MapValue({});\n        if (typeof data.fields == \"object\") {\n            message.fields = new Map(Object.entries(data.fields).map(([key, value]) => [key, Value.fromObject(value)]));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            fields?: {\n                [key: string]: ReturnType<typeof Value.prototype.toObject>;\n            };\n        } = {};\n        if (this.fields != null) {\n            data.fields = (Object.fromEntries)((Array.from)(this.fields).map(([key, value]) => [key, value.toObject()]));\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        for (const [key, value] of this.fields) {\n            writer.writeMessage(1, this.fields, () => {\n                writer.writeString(1, key);\n                writer.writeMessage(2, value, () => value.serialize(writer));\n            });\n        }\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): MapValue {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new MapValue();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message, () => pb_1.Map.deserializeBinary(message.fields as any, reader, reader.readString, () => {\n                        let value;\n                        reader.readMessage(message, () => value = Value.deserialize(reader));\n                        return value;\n                    }));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): MapValue {\n        return MapValue.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/protobuf/wrappers.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport class DoubleValue extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        value?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set value(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        value?: number;\n    }): DoubleValue {\n        const message = new DoubleValue({});\n        if (data.value != null) {\n            message.value = data.value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            value?: number;\n        } = {};\n        if (this.value != null) {\n            data.value = this.value;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.value != 0)\n            writer.writeDouble(1, this.value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DoubleValue {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DoubleValue();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.value = reader.readDouble();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): DoubleValue {\n        return DoubleValue.deserialize(bytes);\n    }\n}\nexport class FloatValue extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        value?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set value(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        value?: number;\n    }): FloatValue {\n        const message = new FloatValue({});\n        if (data.value != null) {\n            message.value = data.value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            value?: number;\n        } = {};\n        if (this.value != null) {\n            data.value = this.value;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.value != 0)\n            writer.writeFloat(1, this.value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): FloatValue {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new FloatValue();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.value = reader.readFloat();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): FloatValue {\n        return FloatValue.deserialize(bytes);\n    }\n}\nexport class Int64Value extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        value?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set value(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        value?: number;\n    }): Int64Value {\n        const message = new Int64Value({});\n        if (data.value != null) {\n            message.value = data.value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            value?: number;\n        } = {};\n        if (this.value != null) {\n            data.value = this.value;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.value != 0)\n            writer.writeInt64(1, this.value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Int64Value {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Int64Value();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.value = reader.readInt64();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Int64Value {\n        return Int64Value.deserialize(bytes);\n    }\n}\nexport class UInt64Value extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        value?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set value(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        value?: number;\n    }): UInt64Value {\n        const message = new UInt64Value({});\n        if (data.value != null) {\n            message.value = data.value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            value?: number;\n        } = {};\n        if (this.value != null) {\n            data.value = this.value;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.value != 0)\n            writer.writeUint64(1, this.value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): UInt64Value {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new UInt64Value();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.value = reader.readUint64();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): UInt64Value {\n        return UInt64Value.deserialize(bytes);\n    }\n}\nexport class Int32Value extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        value?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set value(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        value?: number;\n    }): Int32Value {\n        const message = new Int32Value({});\n        if (data.value != null) {\n            message.value = data.value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            value?: number;\n        } = {};\n        if (this.value != null) {\n            data.value = this.value;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.value != 0)\n            writer.writeInt32(1, this.value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Int32Value {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Int32Value();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.value = reader.readInt32();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Int32Value {\n        return Int32Value.deserialize(bytes);\n    }\n}\nexport class UInt32Value extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        value?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set value(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        value?: number;\n    }): UInt32Value {\n        const message = new UInt32Value({});\n        if (data.value != null) {\n            message.value = data.value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            value?: number;\n        } = {};\n        if (this.value != null) {\n            data.value = this.value;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.value != 0)\n            writer.writeUint32(1, this.value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): UInt32Value {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new UInt32Value();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.value = reader.readUint32();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): UInt32Value {\n        return UInt32Value.deserialize(bytes);\n    }\n}\nexport class BoolValue extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        value?: boolean;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, false) as boolean;\n    }\n    set value(value: boolean) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        value?: boolean;\n    }): BoolValue {\n        const message = new BoolValue({});\n        if (data.value != null) {\n            message.value = data.value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            value?: boolean;\n        } = {};\n        if (this.value != null) {\n            data.value = this.value;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.value != false)\n            writer.writeBool(1, this.value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BoolValue {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BoolValue();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.value = reader.readBool();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): BoolValue {\n        return BoolValue.deserialize(bytes);\n    }\n}\nexport class StringValue extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        value?: string;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set value(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        value?: string;\n    }): StringValue {\n        const message = new StringValue({});\n        if (data.value != null) {\n            message.value = data.value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            value?: string;\n        } = {};\n        if (this.value != null) {\n            data.value = this.value;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.value.length)\n            writer.writeString(1, this.value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StringValue {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StringValue();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.value = reader.readString();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StringValue {\n        return StringValue.deserialize(bytes);\n    }\n}\nexport class BytesValue extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        value?: Uint8Array;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get value() {\n        return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0)) as Uint8Array;\n    }\n    set value(value: Uint8Array) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        value?: Uint8Array;\n    }): BytesValue {\n        const message = new BytesValue({});\n        if (data.value != null) {\n            message.value = data.value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            value?: Uint8Array;\n        } = {};\n        if (this.value != null) {\n            data.value = this.value;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.value.length)\n            writer.writeBytes(1, this.value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BytesValue {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BytesValue();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.value = reader.readBytes();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): BytesValue {\n        return BytesValue.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/firestore/v1/query.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./../../api/field_behavior\";\nimport * as dependency_2 from \"./document\";\nimport * as dependency_3 from \"./../../protobuf/wrappers\";\nimport * as pb_1 from \"google-protobuf\";\nexport class StructuredQuery extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        select?: StructuredQueryProjection;\n        from?: StructuredQueryCollectionSelector[];\n        where?: StructuredQueryFilter;\n        order_by?: StructuredQueryOrder[];\n        start_at?: Cursor;\n        end_at?: Cursor;\n        offset?: number;\n        limit?: dependency_3.Int32Value;\n        find_nearest?: StructuredQueryFindNearest;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2, 4], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"select\" in data && data.select != undefined) {\n                this.select = data.select;\n            }\n            if (\"from\" in data && data.from != undefined) {\n                this.from = data.from;\n            }\n            if (\"where\" in data && data.where != undefined) {\n                this.where = data.where;\n            }\n            if (\"order_by\" in data && data.order_by != undefined) {\n                this.order_by = data.order_by;\n            }\n            if (\"start_at\" in data && data.start_at != undefined) {\n                this.start_at = data.start_at;\n            }\n            if (\"end_at\" in data && data.end_at != undefined) {\n                this.end_at = data.end_at;\n            }\n            if (\"offset\" in data && data.offset != undefined) {\n                this.offset = data.offset;\n            }\n            if (\"limit\" in data && data.limit != undefined) {\n                this.limit = data.limit;\n            }\n            if (\"find_nearest\" in data && data.find_nearest != undefined) {\n                this.find_nearest = data.find_nearest;\n            }\n        }\n    }\n    get select() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryProjection, 1) as StructuredQueryProjection;\n    }\n    set select(value: StructuredQueryProjection) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_select() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get from() {\n        return pb_1.Message.getRepeatedWrapperField(this, StructuredQueryCollectionSelector, 2) as StructuredQueryCollectionSelector[];\n    }\n    set from(value: StructuredQueryCollectionSelector[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    get where() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryFilter, 3) as StructuredQueryFilter;\n    }\n    set where(value: StructuredQueryFilter) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_where() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get order_by() {\n        return pb_1.Message.getRepeatedWrapperField(this, StructuredQueryOrder, 4) as StructuredQueryOrder[];\n    }\n    set order_by(value: StructuredQueryOrder[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 4, value);\n    }\n    get start_at() {\n        return pb_1.Message.getWrapperField(this, Cursor, 7) as Cursor;\n    }\n    set start_at(value: Cursor) {\n        pb_1.Message.setWrapperField(this, 7, value);\n    }\n    get has_start_at() {\n        return pb_1.Message.getField(this, 7) != null;\n    }\n    get end_at() {\n        return pb_1.Message.getWrapperField(this, Cursor, 8) as Cursor;\n    }\n    set end_at(value: Cursor) {\n        pb_1.Message.setWrapperField(this, 8, value);\n    }\n    get has_end_at() {\n        return pb_1.Message.getField(this, 8) != null;\n    }\n    get offset() {\n        return pb_1.Message.getFieldWithDefault(this, 6, 0) as number;\n    }\n    set offset(value: number) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    get limit() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Int32Value, 5) as dependency_3.Int32Value;\n    }\n    set limit(value: dependency_3.Int32Value) {\n        pb_1.Message.setWrapperField(this, 5, value);\n    }\n    get has_limit() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get find_nearest() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryFindNearest, 9) as StructuredQueryFindNearest;\n    }\n    set find_nearest(value: StructuredQueryFindNearest) {\n        pb_1.Message.setWrapperField(this, 9, value);\n    }\n    get has_find_nearest() {\n        return pb_1.Message.getField(this, 9) != null;\n    }\n    static fromObject(data: {\n        select?: ReturnType<typeof StructuredQueryProjection.prototype.toObject>;\n        from?: ReturnType<typeof StructuredQueryCollectionSelector.prototype.toObject>[];\n        where?: ReturnType<typeof StructuredQueryFilter.prototype.toObject>;\n        order_by?: ReturnType<typeof StructuredQueryOrder.prototype.toObject>[];\n        start_at?: ReturnType<typeof Cursor.prototype.toObject>;\n        end_at?: ReturnType<typeof Cursor.prototype.toObject>;\n        offset?: number;\n        limit?: ReturnType<typeof dependency_3.Int32Value.prototype.toObject>;\n        find_nearest?: ReturnType<typeof StructuredQueryFindNearest.prototype.toObject>;\n    }): StructuredQuery {\n        const message = new StructuredQuery({});\n        if (data.select != null) {\n            message.select = StructuredQueryProjection.fromObject(data.select);\n        }\n        if (data.from != null) {\n            message.from = data.from.map(item => StructuredQueryCollectionSelector.fromObject(item));\n        }\n        if (data.where != null) {\n            message.where = StructuredQueryFilter.fromObject(data.where);\n        }\n        if (data.order_by != null) {\n            message.order_by = data.order_by.map(item => StructuredQueryOrder.fromObject(item));\n        }\n        if (data.start_at != null) {\n            message.start_at = Cursor.fromObject(data.start_at);\n        }\n        if (data.end_at != null) {\n            message.end_at = Cursor.fromObject(data.end_at);\n        }\n        if (data.offset != null) {\n            message.offset = data.offset;\n        }\n        if (data.limit != null) {\n            message.limit = dependency_3.Int32Value.fromObject(data.limit);\n        }\n        if (data.find_nearest != null) {\n            message.find_nearest = StructuredQueryFindNearest.fromObject(data.find_nearest);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            select?: ReturnType<typeof StructuredQueryProjection.prototype.toObject>;\n            from?: ReturnType<typeof StructuredQueryCollectionSelector.prototype.toObject>[];\n            where?: ReturnType<typeof StructuredQueryFilter.prototype.toObject>;\n            order_by?: ReturnType<typeof StructuredQueryOrder.prototype.toObject>[];\n            start_at?: ReturnType<typeof Cursor.prototype.toObject>;\n            end_at?: ReturnType<typeof Cursor.prototype.toObject>;\n            offset?: number;\n            limit?: ReturnType<typeof dependency_3.Int32Value.prototype.toObject>;\n            find_nearest?: ReturnType<typeof StructuredQueryFindNearest.prototype.toObject>;\n        } = {};\n        if (this.select != null) {\n            data.select = this.select.toObject();\n        }\n        if (this.from != null) {\n            data.from = this.from.map((item: StructuredQueryCollectionSelector) => item.toObject());\n        }\n        if (this.where != null) {\n            data.where = this.where.toObject();\n        }\n        if (this.order_by != null) {\n            data.order_by = this.order_by.map((item: StructuredQueryOrder) => item.toObject());\n        }\n        if (this.start_at != null) {\n            data.start_at = this.start_at.toObject();\n        }\n        if (this.end_at != null) {\n            data.end_at = this.end_at.toObject();\n        }\n        if (this.offset != null) {\n            data.offset = this.offset;\n        }\n        if (this.limit != null) {\n            data.limit = this.limit.toObject();\n        }\n        if (this.find_nearest != null) {\n            data.find_nearest = this.find_nearest.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_select)\n            writer.writeMessage(1, this.select, () => this.select.serialize(writer));\n        if (this.from.length)\n            writer.writeRepeatedMessage(2, this.from, (item: StructuredQueryCollectionSelector) => item.serialize(writer));\n        if (this.has_where)\n            writer.writeMessage(3, this.where, () => this.where.serialize(writer));\n        if (this.order_by.length)\n            writer.writeRepeatedMessage(4, this.order_by, (item: StructuredQueryOrder) => item.serialize(writer));\n        if (this.has_start_at)\n            writer.writeMessage(7, this.start_at, () => this.start_at.serialize(writer));\n        if (this.has_end_at)\n            writer.writeMessage(8, this.end_at, () => this.end_at.serialize(writer));\n        if (this.offset != 0)\n            writer.writeInt32(6, this.offset);\n        if (this.has_limit)\n            writer.writeMessage(5, this.limit, () => this.limit.serialize(writer));\n        if (this.has_find_nearest)\n            writer.writeMessage(9, this.find_nearest, () => this.find_nearest.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQuery {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredQuery();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.select, () => message.select = StructuredQueryProjection.deserialize(reader));\n                    break;\n                case 2:\n                    reader.readMessage(message.from, () => pb_1.Message.addToRepeatedWrapperField(message, 2, StructuredQueryCollectionSelector.deserialize(reader), StructuredQueryCollectionSelector));\n                    break;\n                case 3:\n                    reader.readMessage(message.where, () => message.where = StructuredQueryFilter.deserialize(reader));\n                    break;\n                case 4:\n                    reader.readMessage(message.order_by, () => pb_1.Message.addToRepeatedWrapperField(message, 4, StructuredQueryOrder.deserialize(reader), StructuredQueryOrder));\n                    break;\n                case 7:\n                    reader.readMessage(message.start_at, () => message.start_at = Cursor.deserialize(reader));\n                    break;\n                case 8:\n                    reader.readMessage(message.end_at, () => message.end_at = Cursor.deserialize(reader));\n                    break;\n                case 6:\n                    message.offset = reader.readInt32();\n                    break;\n                case 5:\n                    reader.readMessage(message.limit, () => message.limit = dependency_3.Int32Value.deserialize(reader));\n                    break;\n                case 9:\n                    reader.readMessage(message.find_nearest, () => message.find_nearest = StructuredQueryFindNearest.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredQuery {\n        return StructuredQuery.deserialize(bytes);\n    }\n}\nexport enum StructuredQueryDirection {\n    DIRECTION_UNSPECIFIED = 0,\n    ASCENDING = 1,\n    DESCENDING = 2\n}\nexport class StructuredQueryCollectionSelector extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        collection_id?: string;\n        all_descendants?: boolean;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"collection_id\" in data && data.collection_id != undefined) {\n                this.collection_id = data.collection_id;\n            }\n            if (\"all_descendants\" in data && data.all_descendants != undefined) {\n                this.all_descendants = data.all_descendants;\n            }\n        }\n    }\n    get collection_id() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set collection_id(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get all_descendants() {\n        return pb_1.Message.getFieldWithDefault(this, 3, false) as boolean;\n    }\n    set all_descendants(value: boolean) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    static fromObject(data: {\n        collection_id?: string;\n        all_descendants?: boolean;\n    }): StructuredQueryCollectionSelector {\n        const message = new StructuredQueryCollectionSelector({});\n        if (data.collection_id != null) {\n            message.collection_id = data.collection_id;\n        }\n        if (data.all_descendants != null) {\n            message.all_descendants = data.all_descendants;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            collection_id?: string;\n            all_descendants?: boolean;\n        } = {};\n        if (this.collection_id != null) {\n            data.collection_id = this.collection_id;\n        }\n        if (this.all_descendants != null) {\n            data.all_descendants = this.all_descendants;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.collection_id.length)\n            writer.writeString(2, this.collection_id);\n        if (this.all_descendants != false)\n            writer.writeBool(3, this.all_descendants);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryCollectionSelector {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredQueryCollectionSelector();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    message.collection_id = reader.readString();\n                    break;\n                case 3:\n                    message.all_descendants = reader.readBool();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredQueryCollectionSelector {\n        return StructuredQueryCollectionSelector.deserialize(bytes);\n    }\n}\nexport class StructuredQueryFilter extends pb_1.Message {\n    #one_of_decls: number[][] = [[1, 2, 3]];\n    constructor(data?: any[] | ({} & (({\n        composite_filter?: StructuredQueryCompositeFilter;\n        field_filter?: never;\n        unary_filter?: never;\n    } | {\n        composite_filter?: never;\n        field_filter?: StructuredQueryFieldFilter;\n        unary_filter?: never;\n    } | {\n        composite_filter?: never;\n        field_filter?: never;\n        unary_filter?: StructuredQueryUnaryFilter;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"composite_filter\" in data && data.composite_filter != undefined) {\n                this.composite_filter = data.composite_filter;\n            }\n            if (\"field_filter\" in data && data.field_filter != undefined) {\n                this.field_filter = data.field_filter;\n            }\n            if (\"unary_filter\" in data && data.unary_filter != undefined) {\n                this.unary_filter = data.unary_filter;\n            }\n        }\n    }\n    get composite_filter() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryCompositeFilter, 1) as StructuredQueryCompositeFilter;\n    }\n    set composite_filter(value: StructuredQueryCompositeFilter) {\n        pb_1.Message.setOneofWrapperField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_composite_filter() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get field_filter() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryFieldFilter, 2) as StructuredQueryFieldFilter;\n    }\n    set field_filter(value: StructuredQueryFieldFilter) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_field_filter() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get unary_filter() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryUnaryFilter, 3) as StructuredQueryUnaryFilter;\n    }\n    set unary_filter(value: StructuredQueryUnaryFilter) {\n        pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_unary_filter() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get filter_type() {\n        const cases: {\n            [index: number]: \"none\" | \"composite_filter\" | \"field_filter\" | \"unary_filter\";\n        } = {\n            0: \"none\",\n            1: \"composite_filter\",\n            2: \"field_filter\",\n            3: \"unary_filter\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [1, 2, 3])];\n    }\n    static fromObject(data: {\n        composite_filter?: ReturnType<typeof StructuredQueryCompositeFilter.prototype.toObject>;\n        field_filter?: ReturnType<typeof StructuredQueryFieldFilter.prototype.toObject>;\n        unary_filter?: ReturnType<typeof StructuredQueryUnaryFilter.prototype.toObject>;\n    }): StructuredQueryFilter {\n        const message = new StructuredQueryFilter({});\n        if (data.composite_filter != null) {\n            message.composite_filter = StructuredQueryCompositeFilter.fromObject(data.composite_filter);\n        }\n        if (data.field_filter != null) {\n            message.field_filter = StructuredQueryFieldFilter.fromObject(data.field_filter);\n        }\n        if (data.unary_filter != null) {\n            message.unary_filter = StructuredQueryUnaryFilter.fromObject(data.unary_filter);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            composite_filter?: ReturnType<typeof StructuredQueryCompositeFilter.prototype.toObject>;\n            field_filter?: ReturnType<typeof StructuredQueryFieldFilter.prototype.toObject>;\n            unary_filter?: ReturnType<typeof StructuredQueryUnaryFilter.prototype.toObject>;\n        } = {};\n        if (this.composite_filter != null) {\n            data.composite_filter = this.composite_filter.toObject();\n        }\n        if (this.field_filter != null) {\n            data.field_filter = this.field_filter.toObject();\n        }\n        if (this.unary_filter != null) {\n            data.unary_filter = this.unary_filter.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_composite_filter)\n            writer.writeMessage(1, this.composite_filter, () => this.composite_filter.serialize(writer));\n        if (this.has_field_filter)\n            writer.writeMessage(2, this.field_filter, () => this.field_filter.serialize(writer));\n        if (this.has_unary_filter)\n            writer.writeMessage(3, this.unary_filter, () => this.unary_filter.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryFilter {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredQueryFilter();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.composite_filter, () => message.composite_filter = StructuredQueryCompositeFilter.deserialize(reader));\n                    break;\n                case 2:\n                    reader.readMessage(message.field_filter, () => message.field_filter = StructuredQueryFieldFilter.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.unary_filter, () => message.unary_filter = StructuredQueryUnaryFilter.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredQueryFilter {\n        return StructuredQueryFilter.deserialize(bytes);\n    }\n}\nexport class StructuredQueryCompositeFilter extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        op?: StructuredQueryCompositeFilterOperator;\n        filters?: StructuredQueryFilter[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"op\" in data && data.op != undefined) {\n                this.op = data.op;\n            }\n            if (\"filters\" in data && data.filters != undefined) {\n                this.filters = data.filters;\n            }\n        }\n    }\n    get op() {\n        return pb_1.Message.getFieldWithDefault(this, 1, StructuredQueryCompositeFilterOperator.OPERATOR_UNSPECIFIED) as StructuredQueryCompositeFilterOperator;\n    }\n    set op(value: StructuredQueryCompositeFilterOperator) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get filters() {\n        return pb_1.Message.getRepeatedWrapperField(this, StructuredQueryFilter, 2) as StructuredQueryFilter[];\n    }\n    set filters(value: StructuredQueryFilter[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    static fromObject(data: {\n        op?: StructuredQueryCompositeFilterOperator;\n        filters?: ReturnType<typeof StructuredQueryFilter.prototype.toObject>[];\n    }): StructuredQueryCompositeFilter {\n        const message = new StructuredQueryCompositeFilter({});\n        if (data.op != null) {\n            message.op = data.op;\n        }\n        if (data.filters != null) {\n            message.filters = data.filters.map(item => StructuredQueryFilter.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            op?: StructuredQueryCompositeFilterOperator;\n            filters?: ReturnType<typeof StructuredQueryFilter.prototype.toObject>[];\n        } = {};\n        if (this.op != null) {\n            data.op = this.op;\n        }\n        if (this.filters != null) {\n            data.filters = this.filters.map((item: StructuredQueryFilter) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.op != StructuredQueryCompositeFilterOperator.OPERATOR_UNSPECIFIED)\n            writer.writeEnum(1, this.op);\n        if (this.filters.length)\n            writer.writeRepeatedMessage(2, this.filters, (item: StructuredQueryFilter) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryCompositeFilter {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredQueryCompositeFilter();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.op = reader.readEnum();\n                    break;\n                case 2:\n                    reader.readMessage(message.filters, () => pb_1.Message.addToRepeatedWrapperField(message, 2, StructuredQueryFilter.deserialize(reader), StructuredQueryFilter));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredQueryCompositeFilter {\n        return StructuredQueryCompositeFilter.deserialize(bytes);\n    }\n}\nexport enum StructuredQueryCompositeFilterOperator {\n    OPERATOR_UNSPECIFIED = 0,\n    AND = 1,\n    OR = 2\n}\nexport class StructuredQueryFieldFilter extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        field?: StructuredQueryFieldReference;\n        op?: StructuredQueryFieldFilterOperator;\n        value?: dependency_2.Value;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"field\" in data && data.field != undefined) {\n                this.field = data.field;\n            }\n            if (\"op\" in data && data.op != undefined) {\n                this.op = data.op;\n            }\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get field() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryFieldReference, 1) as StructuredQueryFieldReference;\n    }\n    set field(value: StructuredQueryFieldReference) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_field() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get op() {\n        return pb_1.Message.getFieldWithDefault(this, 2, StructuredQueryFieldFilterOperator.OPERATOR_UNSPECIFIED) as StructuredQueryFieldFilterOperator;\n    }\n    set op(value: StructuredQueryFieldFilterOperator) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get value() {\n        return pb_1.Message.getWrapperField(this, dependency_2.Value, 3) as dependency_2.Value;\n    }\n    set value(value: dependency_2.Value) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_value() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    static fromObject(data: {\n        field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n        op?: StructuredQueryFieldFilterOperator;\n        value?: ReturnType<typeof dependency_2.Value.prototype.toObject>;\n    }): StructuredQueryFieldFilter {\n        const message = new StructuredQueryFieldFilter({});\n        if (data.field != null) {\n            message.field = StructuredQueryFieldReference.fromObject(data.field);\n        }\n        if (data.op != null) {\n            message.op = data.op;\n        }\n        if (data.value != null) {\n            message.value = dependency_2.Value.fromObject(data.value);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n            op?: StructuredQueryFieldFilterOperator;\n            value?: ReturnType<typeof dependency_2.Value.prototype.toObject>;\n        } = {};\n        if (this.field != null) {\n            data.field = this.field.toObject();\n        }\n        if (this.op != null) {\n            data.op = this.op;\n        }\n        if (this.value != null) {\n            data.value = this.value.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_field)\n            writer.writeMessage(1, this.field, () => this.field.serialize(writer));\n        if (this.op != StructuredQueryFieldFilterOperator.OPERATOR_UNSPECIFIED)\n            writer.writeEnum(2, this.op);\n        if (this.has_value)\n            writer.writeMessage(3, this.value, () => this.value.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryFieldFilter {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredQueryFieldFilter();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.field, () => message.field = StructuredQueryFieldReference.deserialize(reader));\n                    break;\n                case 2:\n                    message.op = reader.readEnum();\n                    break;\n                case 3:\n                    reader.readMessage(message.value, () => message.value = dependency_2.Value.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredQueryFieldFilter {\n        return StructuredQueryFieldFilter.deserialize(bytes);\n    }\n}\nexport enum StructuredQueryFieldFilterOperator {\n    OPERATOR_UNSPECIFIED = 0,\n    LESS_THAN = 1,\n    LESS_THAN_OR_EQUAL = 2,\n    GREATER_THAN = 3,\n    GREATER_THAN_OR_EQUAL = 4,\n    EQUAL = 5,\n    NOT_EQUAL = 6,\n    ARRAY_CONTAINS = 7,\n    IN = 8,\n    ARRAY_CONTAINS_ANY = 9,\n    NOT_IN = 10\n}\nexport class StructuredQueryUnaryFilter extends pb_1.Message {\n    #one_of_decls: number[][] = [[2]];\n    constructor(data?: any[] | ({\n        op?: StructuredQueryUnaryFilterOperator;\n    } & (({\n        field?: StructuredQueryFieldReference;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"op\" in data && data.op != undefined) {\n                this.op = data.op;\n            }\n            if (\"field\" in data && data.field != undefined) {\n                this.field = data.field;\n            }\n        }\n    }\n    get op() {\n        return pb_1.Message.getFieldWithDefault(this, 1, StructuredQueryUnaryFilterOperator.OPERATOR_UNSPECIFIED) as StructuredQueryUnaryFilterOperator;\n    }\n    set op(value: StructuredQueryUnaryFilterOperator) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get field() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryFieldReference, 2) as StructuredQueryFieldReference;\n    }\n    set field(value: StructuredQueryFieldReference) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_field() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get operand_type() {\n        const cases: {\n            [index: number]: \"none\" | \"field\";\n        } = {\n            0: \"none\",\n            2: \"field\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2])];\n    }\n    static fromObject(data: {\n        op?: StructuredQueryUnaryFilterOperator;\n        field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n    }): StructuredQueryUnaryFilter {\n        const message = new StructuredQueryUnaryFilter({});\n        if (data.op != null) {\n            message.op = data.op;\n        }\n        if (data.field != null) {\n            message.field = StructuredQueryFieldReference.fromObject(data.field);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            op?: StructuredQueryUnaryFilterOperator;\n            field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n        } = {};\n        if (this.op != null) {\n            data.op = this.op;\n        }\n        if (this.field != null) {\n            data.field = this.field.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.op != StructuredQueryUnaryFilterOperator.OPERATOR_UNSPECIFIED)\n            writer.writeEnum(1, this.op);\n        if (this.has_field)\n            writer.writeMessage(2, this.field, () => this.field.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryUnaryFilter {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredQueryUnaryFilter();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.op = reader.readEnum();\n                    break;\n                case 2:\n                    reader.readMessage(message.field, () => message.field = StructuredQueryFieldReference.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredQueryUnaryFilter {\n        return StructuredQueryUnaryFilter.deserialize(bytes);\n    }\n}\nexport enum StructuredQueryUnaryFilterOperator {\n    OPERATOR_UNSPECIFIED = 0,\n    IS_NAN = 2,\n    IS_NULL = 3,\n    IS_NOT_NAN = 4,\n    IS_NOT_NULL = 5\n}\nexport class StructuredQueryOrder extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        field?: StructuredQueryFieldReference;\n        direction?: StructuredQueryDirection;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"field\" in data && data.field != undefined) {\n                this.field = data.field;\n            }\n            if (\"direction\" in data && data.direction != undefined) {\n                this.direction = data.direction;\n            }\n        }\n    }\n    get field() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryFieldReference, 1) as StructuredQueryFieldReference;\n    }\n    set field(value: StructuredQueryFieldReference) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_field() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get direction() {\n        return pb_1.Message.getFieldWithDefault(this, 2, StructuredQueryDirection.DIRECTION_UNSPECIFIED) as StructuredQueryDirection;\n    }\n    set direction(value: StructuredQueryDirection) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n        direction?: StructuredQueryDirection;\n    }): StructuredQueryOrder {\n        const message = new StructuredQueryOrder({});\n        if (data.field != null) {\n            message.field = StructuredQueryFieldReference.fromObject(data.field);\n        }\n        if (data.direction != null) {\n            message.direction = data.direction;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n            direction?: StructuredQueryDirection;\n        } = {};\n        if (this.field != null) {\n            data.field = this.field.toObject();\n        }\n        if (this.direction != null) {\n            data.direction = this.direction;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_field)\n            writer.writeMessage(1, this.field, () => this.field.serialize(writer));\n        if (this.direction != StructuredQueryDirection.DIRECTION_UNSPECIFIED)\n            writer.writeEnum(2, this.direction);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryOrder {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredQueryOrder();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.field, () => message.field = StructuredQueryFieldReference.deserialize(reader));\n                    break;\n                case 2:\n                    message.direction = reader.readEnum();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredQueryOrder {\n        return StructuredQueryOrder.deserialize(bytes);\n    }\n}\nexport class StructuredQueryFieldReference extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        field_path?: string;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"field_path\" in data && data.field_path != undefined) {\n                this.field_path = data.field_path;\n            }\n        }\n    }\n    get field_path() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set field_path(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        field_path?: string;\n    }): StructuredQueryFieldReference {\n        const message = new StructuredQueryFieldReference({});\n        if (data.field_path != null) {\n            message.field_path = data.field_path;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            field_path?: string;\n        } = {};\n        if (this.field_path != null) {\n            data.field_path = this.field_path;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.field_path.length)\n            writer.writeString(2, this.field_path);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryFieldReference {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredQueryFieldReference();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    message.field_path = reader.readString();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredQueryFieldReference {\n        return StructuredQueryFieldReference.deserialize(bytes);\n    }\n}\nexport class StructuredQueryProjection extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        fields?: StructuredQueryFieldReference[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"fields\" in data && data.fields != undefined) {\n                this.fields = data.fields;\n            }\n        }\n    }\n    get fields() {\n        return pb_1.Message.getRepeatedWrapperField(this, StructuredQueryFieldReference, 2) as StructuredQueryFieldReference[];\n    }\n    set fields(value: StructuredQueryFieldReference[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    static fromObject(data: {\n        fields?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>[];\n    }): StructuredQueryProjection {\n        const message = new StructuredQueryProjection({});\n        if (data.fields != null) {\n            message.fields = data.fields.map(item => StructuredQueryFieldReference.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            fields?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>[];\n        } = {};\n        if (this.fields != null) {\n            data.fields = this.fields.map((item: StructuredQueryFieldReference) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.fields.length)\n            writer.writeRepeatedMessage(2, this.fields, (item: StructuredQueryFieldReference) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryProjection {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredQueryProjection();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    reader.readMessage(message.fields, () => pb_1.Message.addToRepeatedWrapperField(message, 2, StructuredQueryFieldReference.deserialize(reader), StructuredQueryFieldReference));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredQueryProjection {\n        return StructuredQueryProjection.deserialize(bytes);\n    }\n}\nexport class StructuredQueryFindNearest extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        vector_field?: StructuredQueryFieldReference;\n        query_vector?: dependency_2.Value;\n        distance_measure?: StructuredQueryFindNearestDistanceMeasure;\n        limit?: dependency_3.Int32Value;\n        distance_result_field?: string;\n        distance_threshold?: dependency_3.DoubleValue;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"vector_field\" in data && data.vector_field != undefined) {\n                this.vector_field = data.vector_field;\n            }\n            if (\"query_vector\" in data && data.query_vector != undefined) {\n                this.query_vector = data.query_vector;\n            }\n            if (\"distance_measure\" in data && data.distance_measure != undefined) {\n                this.distance_measure = data.distance_measure;\n            }\n            if (\"limit\" in data && data.limit != undefined) {\n                this.limit = data.limit;\n            }\n            if (\"distance_result_field\" in data && data.distance_result_field != undefined) {\n                this.distance_result_field = data.distance_result_field;\n            }\n            if (\"distance_threshold\" in data && data.distance_threshold != undefined) {\n                this.distance_threshold = data.distance_threshold;\n            }\n        }\n    }\n    get vector_field() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryFieldReference, 1) as StructuredQueryFieldReference;\n    }\n    set vector_field(value: StructuredQueryFieldReference) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_vector_field() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get query_vector() {\n        return pb_1.Message.getWrapperField(this, dependency_2.Value, 2) as dependency_2.Value;\n    }\n    set query_vector(value: dependency_2.Value) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_query_vector() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get distance_measure() {\n        return pb_1.Message.getFieldWithDefault(this, 3, StructuredQueryFindNearestDistanceMeasure.DISTANCE_MEASURE_UNSPECIFIED) as StructuredQueryFindNearestDistanceMeasure;\n    }\n    set distance_measure(value: StructuredQueryFindNearestDistanceMeasure) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get limit() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Int32Value, 4) as dependency_3.Int32Value;\n    }\n    set limit(value: dependency_3.Int32Value) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_limit() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get distance_result_field() {\n        return pb_1.Message.getFieldWithDefault(this, 5, \"\") as string;\n    }\n    set distance_result_field(value: string) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get distance_threshold() {\n        return pb_1.Message.getWrapperField(this, dependency_3.DoubleValue, 6) as dependency_3.DoubleValue;\n    }\n    set distance_threshold(value: dependency_3.DoubleValue) {\n        pb_1.Message.setWrapperField(this, 6, value);\n    }\n    get has_distance_threshold() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    static fromObject(data: {\n        vector_field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n        query_vector?: ReturnType<typeof dependency_2.Value.prototype.toObject>;\n        distance_measure?: StructuredQueryFindNearestDistanceMeasure;\n        limit?: ReturnType<typeof dependency_3.Int32Value.prototype.toObject>;\n        distance_result_field?: string;\n        distance_threshold?: ReturnType<typeof dependency_3.DoubleValue.prototype.toObject>;\n    }): StructuredQueryFindNearest {\n        const message = new StructuredQueryFindNearest({});\n        if (data.vector_field != null) {\n            message.vector_field = StructuredQueryFieldReference.fromObject(data.vector_field);\n        }\n        if (data.query_vector != null) {\n            message.query_vector = dependency_2.Value.fromObject(data.query_vector);\n        }\n        if (data.distance_measure != null) {\n            message.distance_measure = data.distance_measure;\n        }\n        if (data.limit != null) {\n            message.limit = dependency_3.Int32Value.fromObject(data.limit);\n        }\n        if (data.distance_result_field != null) {\n            message.distance_result_field = data.distance_result_field;\n        }\n        if (data.distance_threshold != null) {\n            message.distance_threshold = dependency_3.DoubleValue.fromObject(data.distance_threshold);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            vector_field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n            query_vector?: ReturnType<typeof dependency_2.Value.prototype.toObject>;\n            distance_measure?: StructuredQueryFindNearestDistanceMeasure;\n            limit?: ReturnType<typeof dependency_3.Int32Value.prototype.toObject>;\n            distance_result_field?: string;\n            distance_threshold?: ReturnType<typeof dependency_3.DoubleValue.prototype.toObject>;\n        } = {};\n        if (this.vector_field != null) {\n            data.vector_field = this.vector_field.toObject();\n        }\n        if (this.query_vector != null) {\n            data.query_vector = this.query_vector.toObject();\n        }\n        if (this.distance_measure != null) {\n            data.distance_measure = this.distance_measure;\n        }\n        if (this.limit != null) {\n            data.limit = this.limit.toObject();\n        }\n        if (this.distance_result_field != null) {\n            data.distance_result_field = this.distance_result_field;\n        }\n        if (this.distance_threshold != null) {\n            data.distance_threshold = this.distance_threshold.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_vector_field)\n            writer.writeMessage(1, this.vector_field, () => this.vector_field.serialize(writer));\n        if (this.has_query_vector)\n            writer.writeMessage(2, this.query_vector, () => this.query_vector.serialize(writer));\n        if (this.distance_measure != StructuredQueryFindNearestDistanceMeasure.DISTANCE_MEASURE_UNSPECIFIED)\n            writer.writeEnum(3, this.distance_measure);\n        if (this.has_limit)\n            writer.writeMessage(4, this.limit, () => this.limit.serialize(writer));\n        if (this.distance_result_field.length)\n            writer.writeString(5, this.distance_result_field);\n        if (this.has_distance_threshold)\n            writer.writeMessage(6, this.distance_threshold, () => this.distance_threshold.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredQueryFindNearest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredQueryFindNearest();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.vector_field, () => message.vector_field = StructuredQueryFieldReference.deserialize(reader));\n                    break;\n                case 2:\n                    reader.readMessage(message.query_vector, () => message.query_vector = dependency_2.Value.deserialize(reader));\n                    break;\n                case 3:\n                    message.distance_measure = reader.readEnum();\n                    break;\n                case 4:\n                    reader.readMessage(message.limit, () => message.limit = dependency_3.Int32Value.deserialize(reader));\n                    break;\n                case 5:\n                    message.distance_result_field = reader.readString();\n                    break;\n                case 6:\n                    reader.readMessage(message.distance_threshold, () => message.distance_threshold = dependency_3.DoubleValue.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredQueryFindNearest {\n        return StructuredQueryFindNearest.deserialize(bytes);\n    }\n}\nexport enum StructuredQueryFindNearestDistanceMeasure {\n    DISTANCE_MEASURE_UNSPECIFIED = 0,\n    EUCLIDEAN = 1,\n    COSINE = 2,\n    DOT_PRODUCT = 3\n}\nexport class StructuredAggregationQuery extends pb_1.Message {\n    #one_of_decls: number[][] = [[1]];\n    constructor(data?: any[] | ({\n        aggregations?: StructuredAggregationQueryAggregation[];\n    } & (({\n        structured_query?: StructuredQuery;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [3], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"structured_query\" in data && data.structured_query != undefined) {\n                this.structured_query = data.structured_query;\n            }\n            if (\"aggregations\" in data && data.aggregations != undefined) {\n                this.aggregations = data.aggregations;\n            }\n        }\n    }\n    get structured_query() {\n        return pb_1.Message.getWrapperField(this, StructuredQuery, 1) as StructuredQuery;\n    }\n    set structured_query(value: StructuredQuery) {\n        pb_1.Message.setOneofWrapperField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_structured_query() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get aggregations() {\n        return pb_1.Message.getRepeatedWrapperField(this, StructuredAggregationQueryAggregation, 3) as StructuredAggregationQueryAggregation[];\n    }\n    set aggregations(value: StructuredAggregationQueryAggregation[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 3, value);\n    }\n    get query_type() {\n        const cases: {\n            [index: number]: \"none\" | \"structured_query\";\n        } = {\n            0: \"none\",\n            1: \"structured_query\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [1])];\n    }\n    static fromObject(data: {\n        structured_query?: ReturnType<typeof StructuredQuery.prototype.toObject>;\n        aggregations?: ReturnType<typeof StructuredAggregationQueryAggregation.prototype.toObject>[];\n    }): StructuredAggregationQuery {\n        const message = new StructuredAggregationQuery({});\n        if (data.structured_query != null) {\n            message.structured_query = StructuredQuery.fromObject(data.structured_query);\n        }\n        if (data.aggregations != null) {\n            message.aggregations = data.aggregations.map(item => StructuredAggregationQueryAggregation.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            structured_query?: ReturnType<typeof StructuredQuery.prototype.toObject>;\n            aggregations?: ReturnType<typeof StructuredAggregationQueryAggregation.prototype.toObject>[];\n        } = {};\n        if (this.structured_query != null) {\n            data.structured_query = this.structured_query.toObject();\n        }\n        if (this.aggregations != null) {\n            data.aggregations = this.aggregations.map((item: StructuredAggregationQueryAggregation) => item.toObject());\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_structured_query)\n            writer.writeMessage(1, this.structured_query, () => this.structured_query.serialize(writer));\n        if (this.aggregations.length)\n            writer.writeRepeatedMessage(3, this.aggregations, (item: StructuredAggregationQueryAggregation) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredAggregationQuery {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredAggregationQuery();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.structured_query, () => message.structured_query = StructuredQuery.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.aggregations, () => pb_1.Message.addToRepeatedWrapperField(message, 3, StructuredAggregationQueryAggregation.deserialize(reader), StructuredAggregationQueryAggregation));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredAggregationQuery {\n        return StructuredAggregationQuery.deserialize(bytes);\n    }\n}\nexport class StructuredAggregationQueryAggregation extends pb_1.Message {\n    #one_of_decls: number[][] = [[1, 2, 3]];\n    constructor(data?: any[] | ({\n        alias?: string;\n    } & (({\n        count?: StructuredAggregationQueryAggregationCount;\n        sum?: never;\n        avg?: never;\n    } | {\n        count?: never;\n        sum?: StructuredAggregationQueryAggregationSum;\n        avg?: never;\n    } | {\n        count?: never;\n        sum?: never;\n        avg?: StructuredAggregationQueryAggregationAvg;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"count\" in data && data.count != undefined) {\n                this.count = data.count;\n            }\n            if (\"sum\" in data && data.sum != undefined) {\n                this.sum = data.sum;\n            }\n            if (\"avg\" in data && data.avg != undefined) {\n                this.avg = data.avg;\n            }\n            if (\"alias\" in data && data.alias != undefined) {\n                this.alias = data.alias;\n            }\n        }\n    }\n    get count() {\n        return pb_1.Message.getWrapperField(this, StructuredAggregationQueryAggregationCount, 1) as StructuredAggregationQueryAggregationCount;\n    }\n    set count(value: StructuredAggregationQueryAggregationCount) {\n        pb_1.Message.setOneofWrapperField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_count() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get sum() {\n        return pb_1.Message.getWrapperField(this, StructuredAggregationQueryAggregationSum, 2) as StructuredAggregationQueryAggregationSum;\n    }\n    set sum(value: StructuredAggregationQueryAggregationSum) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_sum() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get avg() {\n        return pb_1.Message.getWrapperField(this, StructuredAggregationQueryAggregationAvg, 3) as StructuredAggregationQueryAggregationAvg;\n    }\n    set avg(value: StructuredAggregationQueryAggregationAvg) {\n        pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_avg() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get alias() {\n        return pb_1.Message.getFieldWithDefault(this, 7, \"\") as string;\n    }\n    set alias(value: string) {\n        pb_1.Message.setField(this, 7, value);\n    }\n    get operator() {\n        const cases: {\n            [index: number]: \"none\" | \"count\" | \"sum\" | \"avg\";\n        } = {\n            0: \"none\",\n            1: \"count\",\n            2: \"sum\",\n            3: \"avg\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [1, 2, 3])];\n    }\n    static fromObject(data: {\n        count?: ReturnType<typeof StructuredAggregationQueryAggregationCount.prototype.toObject>;\n        sum?: ReturnType<typeof StructuredAggregationQueryAggregationSum.prototype.toObject>;\n        avg?: ReturnType<typeof StructuredAggregationQueryAggregationAvg.prototype.toObject>;\n        alias?: string;\n    }): StructuredAggregationQueryAggregation {\n        const message = new StructuredAggregationQueryAggregation({});\n        if (data.count != null) {\n            message.count = StructuredAggregationQueryAggregationCount.fromObject(data.count);\n        }\n        if (data.sum != null) {\n            message.sum = StructuredAggregationQueryAggregationSum.fromObject(data.sum);\n        }\n        if (data.avg != null) {\n            message.avg = StructuredAggregationQueryAggregationAvg.fromObject(data.avg);\n        }\n        if (data.alias != null) {\n            message.alias = data.alias;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            count?: ReturnType<typeof StructuredAggregationQueryAggregationCount.prototype.toObject>;\n            sum?: ReturnType<typeof StructuredAggregationQueryAggregationSum.prototype.toObject>;\n            avg?: ReturnType<typeof StructuredAggregationQueryAggregationAvg.prototype.toObject>;\n            alias?: string;\n        } = {};\n        if (this.count != null) {\n            data.count = this.count.toObject();\n        }\n        if (this.sum != null) {\n            data.sum = this.sum.toObject();\n        }\n        if (this.avg != null) {\n            data.avg = this.avg.toObject();\n        }\n        if (this.alias != null) {\n            data.alias = this.alias;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_count)\n            writer.writeMessage(1, this.count, () => this.count.serialize(writer));\n        if (this.has_sum)\n            writer.writeMessage(2, this.sum, () => this.sum.serialize(writer));\n        if (this.has_avg)\n            writer.writeMessage(3, this.avg, () => this.avg.serialize(writer));\n        if (this.alias.length)\n            writer.writeString(7, this.alias);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredAggregationQueryAggregation {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredAggregationQueryAggregation();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.count, () => message.count = StructuredAggregationQueryAggregationCount.deserialize(reader));\n                    break;\n                case 2:\n                    reader.readMessage(message.sum, () => message.sum = StructuredAggregationQueryAggregationSum.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.avg, () => message.avg = StructuredAggregationQueryAggregationAvg.deserialize(reader));\n                    break;\n                case 7:\n                    message.alias = reader.readString();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredAggregationQueryAggregation {\n        return StructuredAggregationQueryAggregation.deserialize(bytes);\n    }\n}\nexport class StructuredAggregationQueryAggregationCount extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        up_to?: dependency_3.Int64Value;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"up_to\" in data && data.up_to != undefined) {\n                this.up_to = data.up_to;\n            }\n        }\n    }\n    get up_to() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Int64Value, 1) as dependency_3.Int64Value;\n    }\n    set up_to(value: dependency_3.Int64Value) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_up_to() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    static fromObject(data: {\n        up_to?: ReturnType<typeof dependency_3.Int64Value.prototype.toObject>;\n    }): StructuredAggregationQueryAggregationCount {\n        const message = new StructuredAggregationQueryAggregationCount({});\n        if (data.up_to != null) {\n            message.up_to = dependency_3.Int64Value.fromObject(data.up_to);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            up_to?: ReturnType<typeof dependency_3.Int64Value.prototype.toObject>;\n        } = {};\n        if (this.up_to != null) {\n            data.up_to = this.up_to.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_up_to)\n            writer.writeMessage(1, this.up_to, () => this.up_to.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredAggregationQueryAggregationCount {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredAggregationQueryAggregationCount();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.up_to, () => message.up_to = dependency_3.Int64Value.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredAggregationQueryAggregationCount {\n        return StructuredAggregationQueryAggregationCount.deserialize(bytes);\n    }\n}\nexport class StructuredAggregationQueryAggregationSum extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        field?: StructuredQueryFieldReference;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"field\" in data && data.field != undefined) {\n                this.field = data.field;\n            }\n        }\n    }\n    get field() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryFieldReference, 1) as StructuredQueryFieldReference;\n    }\n    set field(value: StructuredQueryFieldReference) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_field() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    static fromObject(data: {\n        field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n    }): StructuredAggregationQueryAggregationSum {\n        const message = new StructuredAggregationQueryAggregationSum({});\n        if (data.field != null) {\n            message.field = StructuredQueryFieldReference.fromObject(data.field);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n        } = {};\n        if (this.field != null) {\n            data.field = this.field.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_field)\n            writer.writeMessage(1, this.field, () => this.field.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredAggregationQueryAggregationSum {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredAggregationQueryAggregationSum();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.field, () => message.field = StructuredQueryFieldReference.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredAggregationQueryAggregationSum {\n        return StructuredAggregationQueryAggregationSum.deserialize(bytes);\n    }\n}\nexport class StructuredAggregationQueryAggregationAvg extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        field?: StructuredQueryFieldReference;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"field\" in data && data.field != undefined) {\n                this.field = data.field;\n            }\n        }\n    }\n    get field() {\n        return pb_1.Message.getWrapperField(this, StructuredQueryFieldReference, 1) as StructuredQueryFieldReference;\n    }\n    set field(value: StructuredQueryFieldReference) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_field() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    static fromObject(data: {\n        field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n    }): StructuredAggregationQueryAggregationAvg {\n        const message = new StructuredAggregationQueryAggregationAvg({});\n        if (data.field != null) {\n            message.field = StructuredQueryFieldReference.fromObject(data.field);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            field?: ReturnType<typeof StructuredQueryFieldReference.prototype.toObject>;\n        } = {};\n        if (this.field != null) {\n            data.field = this.field.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_field)\n            writer.writeMessage(1, this.field, () => this.field.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StructuredAggregationQueryAggregationAvg {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StructuredAggregationQueryAggregationAvg();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.field, () => message.field = StructuredQueryFieldReference.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): StructuredAggregationQueryAggregationAvg {\n        return StructuredAggregationQueryAggregationAvg.deserialize(bytes);\n    }\n}\nexport class Cursor extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        values?: dependency_2.Value[];\n        before?: boolean;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"values\" in data && data.values != undefined) {\n                this.values = data.values;\n            }\n            if (\"before\" in data && data.before != undefined) {\n                this.before = data.before;\n            }\n        }\n    }\n    get values() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_2.Value, 1) as dependency_2.Value[];\n    }\n    set values(value: dependency_2.Value[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    get before() {\n        return pb_1.Message.getFieldWithDefault(this, 2, false) as boolean;\n    }\n    set before(value: boolean) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        values?: ReturnType<typeof dependency_2.Value.prototype.toObject>[];\n        before?: boolean;\n    }): Cursor {\n        const message = new Cursor({});\n        if (data.values != null) {\n            message.values = data.values.map(item => dependency_2.Value.fromObject(item));\n        }\n        if (data.before != null) {\n            message.before = data.before;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            values?: ReturnType<typeof dependency_2.Value.prototype.toObject>[];\n            before?: boolean;\n        } = {};\n        if (this.values != null) {\n            data.values = this.values.map((item: dependency_2.Value) => item.toObject());\n        }\n        if (this.before != null) {\n            data.before = this.before;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.values.length)\n            writer.writeRepeatedMessage(1, this.values, (item: dependency_2.Value) => item.serialize(writer));\n        if (this.before != false)\n            writer.writeBool(2, this.before);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Cursor {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Cursor();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.values, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_2.Value.deserialize(reader), dependency_2.Value));\n                    break;\n                case 2:\n                    message.before = reader.readBool();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Cursor {\n        return Cursor.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: firestore/bundle.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./../google/firestore/v1/document\";\nimport * as dependency_2 from \"./../google/firestore/v1/query\";\nimport * as dependency_3 from \"./../google/protobuf/timestamp\";\nimport * as pb_1 from \"google-protobuf\";\nexport class BundledQuery extends pb_1.Message {\n    #one_of_decls: number[][] = [[2]];\n    constructor(data?: any[] | ({\n        parent?: string;\n        limit_type?: BundledQueryLimitType;\n    } & (({\n        structured_query?: dependency_2.StructuredQuery;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"parent\" in data && data.parent != undefined) {\n                this.parent = data.parent;\n            }\n            if (\"structured_query\" in data && data.structured_query != undefined) {\n                this.structured_query = data.structured_query;\n            }\n            if (\"limit_type\" in data && data.limit_type != undefined) {\n                this.limit_type = data.limit_type;\n            }\n        }\n    }\n    get parent() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set parent(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get structured_query() {\n        return pb_1.Message.getWrapperField(this, dependency_2.StructuredQuery, 2) as dependency_2.StructuredQuery;\n    }\n    set structured_query(value: dependency_2.StructuredQuery) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_structured_query() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get limit_type() {\n        return pb_1.Message.getFieldWithDefault(this, 3, BundledQueryLimitType.FIRST) as BundledQueryLimitType;\n    }\n    set limit_type(value: BundledQueryLimitType) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get query_type() {\n        const cases: {\n            [index: number]: \"none\" | \"structured_query\";\n        } = {\n            0: \"none\",\n            2: \"structured_query\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2])];\n    }\n    static fromObject(data: {\n        parent?: string;\n        structured_query?: ReturnType<typeof dependency_2.StructuredQuery.prototype.toObject>;\n        limit_type?: BundledQueryLimitType;\n    }): BundledQuery {\n        const message = new BundledQuery({});\n        if (data.parent != null) {\n            message.parent = data.parent;\n        }\n        if (data.structured_query != null) {\n            message.structured_query = dependency_2.StructuredQuery.fromObject(data.structured_query);\n        }\n        if (data.limit_type != null) {\n            message.limit_type = data.limit_type;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            parent?: string;\n            structured_query?: ReturnType<typeof dependency_2.StructuredQuery.prototype.toObject>;\n            limit_type?: BundledQueryLimitType;\n        } = {};\n        if (this.parent != null) {\n            data.parent = this.parent;\n        }\n        if (this.structured_query != null) {\n            data.structured_query = this.structured_query.toObject();\n        }\n        if (this.limit_type != null) {\n            data.limit_type = this.limit_type;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.parent.length)\n            writer.writeString(1, this.parent);\n        if (this.has_structured_query)\n            writer.writeMessage(2, this.structured_query, () => this.structured_query.serialize(writer));\n        if (this.limit_type != BundledQueryLimitType.FIRST)\n            writer.writeEnum(3, this.limit_type);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BundledQuery {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BundledQuery();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.parent = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.structured_query, () => message.structured_query = dependency_2.StructuredQuery.deserialize(reader));\n                    break;\n                case 3:\n                    message.limit_type = reader.readEnum();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): BundledQuery {\n        return BundledQuery.deserialize(bytes);\n    }\n}\nexport enum BundledQueryLimitType {\n    FIRST = 0,\n    LAST = 1\n}\nexport class NamedQuery extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        bundled_query?: BundledQuery;\n        read_time?: dependency_3.Timestamp;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            if (\"bundled_query\" in data && data.bundled_query != undefined) {\n                this.bundled_query = data.bundled_query;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n        }\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get bundled_query() {\n        return pb_1.Message.getWrapperField(this, BundledQuery, 2) as BundledQuery;\n    }\n    set bundled_query(value: BundledQuery) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_bundled_query() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Timestamp, 3) as dependency_3.Timestamp;\n    }\n    set read_time(value: dependency_3.Timestamp) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    static fromObject(data: {\n        name?: string;\n        bundled_query?: ReturnType<typeof BundledQuery.prototype.toObject>;\n        read_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n    }): NamedQuery {\n        const message = new NamedQuery({});\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.bundled_query != null) {\n            message.bundled_query = BundledQuery.fromObject(data.bundled_query);\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_3.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            bundled_query?: ReturnType<typeof BundledQuery.prototype.toObject>;\n            read_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.bundled_query != null) {\n            data.bundled_query = this.bundled_query.toObject();\n        }\n        if (this.read_time != null) {\n            data.read_time = this.read_time.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.name.length)\n            writer.writeString(1, this.name);\n        if (this.has_bundled_query)\n            writer.writeMessage(2, this.bundled_query, () => this.bundled_query.serialize(writer));\n        if (this.has_read_time)\n            writer.writeMessage(3, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): NamedQuery {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new NamedQuery();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.bundled_query, () => message.bundled_query = BundledQuery.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_3.Timestamp.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): NamedQuery {\n        return NamedQuery.deserialize(bytes);\n    }\n}\nexport class BundledDocumentMetadata extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        read_time?: dependency_3.Timestamp;\n        exists?: boolean;\n        queries?: string[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [4], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"name\" in data && data.name != undefined) {\n                this.name = data.name;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n            if (\"exists\" in data && data.exists != undefined) {\n                this.exists = data.exists;\n            }\n            if (\"queries\" in data && data.queries != undefined) {\n                this.queries = data.queries;\n            }\n        }\n    }\n    get name() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set name(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Timestamp, 2) as dependency_3.Timestamp;\n    }\n    set read_time(value: dependency_3.Timestamp) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get exists() {\n        return pb_1.Message.getFieldWithDefault(this, 3, false) as boolean;\n    }\n    set exists(value: boolean) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get queries() {\n        return pb_1.Message.getFieldWithDefault(this, 4, []) as string[];\n    }\n    set queries(value: string[]) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    static fromObject(data: {\n        name?: string;\n        read_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n        exists?: boolean;\n        queries?: string[];\n    }): BundledDocumentMetadata {\n        const message = new BundledDocumentMetadata({});\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_3.Timestamp.fromObject(data.read_time);\n        }\n        if (data.exists != null) {\n            message.exists = data.exists;\n        }\n        if (data.queries != null) {\n            message.queries = data.queries;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            read_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n            exists?: boolean;\n            queries?: string[];\n        } = {};\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.read_time != null) {\n            data.read_time = this.read_time.toObject();\n        }\n        if (this.exists != null) {\n            data.exists = this.exists;\n        }\n        if (this.queries != null) {\n            data.queries = this.queries;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.name.length)\n            writer.writeString(1, this.name);\n        if (this.has_read_time)\n            writer.writeMessage(2, this.read_time, () => this.read_time.serialize(writer));\n        if (this.exists != false)\n            writer.writeBool(3, this.exists);\n        if (this.queries.length)\n            writer.writeRepeatedString(4, this.queries);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BundledDocumentMetadata {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BundledDocumentMetadata();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.name = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_3.Timestamp.deserialize(reader));\n                    break;\n                case 3:\n                    message.exists = reader.readBool();\n                    break;\n                case 4:\n                    pb_1.Message.addToRepeatedField(message, 4, reader.readString());\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): BundledDocumentMetadata {\n        return BundledDocumentMetadata.deserialize(bytes);\n    }\n}\nexport class BundleMetadata extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        id?: string;\n        create_time?: dependency_3.Timestamp;\n        version?: number;\n        total_documents?: number;\n        total_bytes?: number;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"id\" in data && data.id != undefined) {\n                this.id = data.id;\n            }\n            if (\"create_time\" in data && data.create_time != undefined) {\n                this.create_time = data.create_time;\n            }\n            if (\"version\" in data && data.version != undefined) {\n                this.version = data.version;\n            }\n            if (\"total_documents\" in data && data.total_documents != undefined) {\n                this.total_documents = data.total_documents;\n            }\n            if (\"total_bytes\" in data && data.total_bytes != undefined) {\n                this.total_bytes = data.total_bytes;\n            }\n        }\n    }\n    get id() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set id(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get create_time() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Timestamp, 2) as dependency_3.Timestamp;\n    }\n    set create_time(value: dependency_3.Timestamp) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_create_time() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get version() {\n        return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;\n    }\n    set version(value: number) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get total_documents() {\n        return pb_1.Message.getFieldWithDefault(this, 4, 0) as number;\n    }\n    set total_documents(value: number) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get total_bytes() {\n        return pb_1.Message.getFieldWithDefault(this, 5, 0) as number;\n    }\n    set total_bytes(value: number) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    static fromObject(data: {\n        id?: string;\n        create_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n        version?: number;\n        total_documents?: number;\n        total_bytes?: number;\n    }): BundleMetadata {\n        const message = new BundleMetadata({});\n        if (data.id != null) {\n            message.id = data.id;\n        }\n        if (data.create_time != null) {\n            message.create_time = dependency_3.Timestamp.fromObject(data.create_time);\n        }\n        if (data.version != null) {\n            message.version = data.version;\n        }\n        if (data.total_documents != null) {\n            message.total_documents = data.total_documents;\n        }\n        if (data.total_bytes != null) {\n            message.total_bytes = data.total_bytes;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            id?: string;\n            create_time?: ReturnType<typeof dependency_3.Timestamp.prototype.toObject>;\n            version?: number;\n            total_documents?: number;\n            total_bytes?: number;\n        } = {};\n        if (this.id != null) {\n            data.id = this.id;\n        }\n        if (this.create_time != null) {\n            data.create_time = this.create_time.toObject();\n        }\n        if (this.version != null) {\n            data.version = this.version;\n        }\n        if (this.total_documents != null) {\n            data.total_documents = this.total_documents;\n        }\n        if (this.total_bytes != null) {\n            data.total_bytes = this.total_bytes;\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.id.length)\n            writer.writeString(1, this.id);\n        if (this.has_create_time)\n            writer.writeMessage(2, this.create_time, () => this.create_time.serialize(writer));\n        if (this.version != 0)\n            writer.writeUint32(3, this.version);\n        if (this.total_documents != 0)\n            writer.writeUint32(4, this.total_documents);\n        if (this.total_bytes != 0)\n            writer.writeUint64(5, this.total_bytes);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BundleMetadata {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BundleMetadata();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.id = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.create_time, () => message.create_time = dependency_3.Timestamp.deserialize(reader));\n                    break;\n                case 3:\n                    message.version = reader.readUint32();\n                    break;\n                case 4:\n                    message.total_documents = reader.readUint32();\n                    break;\n                case 5:\n                    message.total_bytes = reader.readUint64();\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): BundleMetadata {\n        return BundleMetadata.deserialize(bytes);\n    }\n}\nexport class BundleElement extends pb_1.Message {\n    #one_of_decls: number[][] = [[1, 2, 3, 4]];\n    constructor(data?: any[] | ({} & (({\n        metadata?: BundleMetadata;\n        named_query?: never;\n        document_metadata?: never;\n        document?: never;\n    } | {\n        metadata?: never;\n        named_query?: NamedQuery;\n        document_metadata?: never;\n        document?: never;\n    } | {\n        metadata?: never;\n        named_query?: never;\n        document_metadata?: BundledDocumentMetadata;\n        document?: never;\n    } | {\n        metadata?: never;\n        named_query?: never;\n        document_metadata?: never;\n        document?: dependency_1.Document;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"metadata\" in data && data.metadata != undefined) {\n                this.metadata = data.metadata;\n            }\n            if (\"named_query\" in data && data.named_query != undefined) {\n                this.named_query = data.named_query;\n            }\n            if (\"document_metadata\" in data && data.document_metadata != undefined) {\n                this.document_metadata = data.document_metadata;\n            }\n            if (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n        }\n    }\n    get metadata() {\n        return pb_1.Message.getWrapperField(this, BundleMetadata, 1) as BundleMetadata;\n    }\n    set metadata(value: BundleMetadata) {\n        pb_1.Message.setOneofWrapperField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_metadata() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get named_query() {\n        return pb_1.Message.getWrapperField(this, NamedQuery, 2) as NamedQuery;\n    }\n    set named_query(value: NamedQuery) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_named_query() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get document_metadata() {\n        return pb_1.Message.getWrapperField(this, BundledDocumentMetadata, 3) as BundledDocumentMetadata;\n    }\n    set document_metadata(value: BundledDocumentMetadata) {\n        pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_document_metadata() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get document() {\n        return pb_1.Message.getWrapperField(this, dependency_1.Document, 4) as dependency_1.Document;\n    }\n    set document(value: dependency_1.Document) {\n        pb_1.Message.setOneofWrapperField(this, 4, this.#one_of_decls[0], value);\n    }\n    get has_document() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get element_type() {\n        const cases: {\n            [index: number]: \"none\" | \"metadata\" | \"named_query\" | \"document_metadata\" | \"document\";\n        } = {\n            0: \"none\",\n            1: \"metadata\",\n            2: \"named_query\",\n            3: \"document_metadata\",\n            4: \"document\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [1, 2, 3, 4])];\n    }\n    static fromObject(data: {\n        metadata?: ReturnType<typeof BundleMetadata.prototype.toObject>;\n        named_query?: ReturnType<typeof NamedQuery.prototype.toObject>;\n        document_metadata?: ReturnType<typeof BundledDocumentMetadata.prototype.toObject>;\n        document?: ReturnType<typeof dependency_1.Document.prototype.toObject>;\n    }): BundleElement {\n        const message = new BundleElement({});\n        if (data.metadata != null) {\n            message.metadata = BundleMetadata.fromObject(data.metadata);\n        }\n        if (data.named_query != null) {\n            message.named_query = NamedQuery.fromObject(data.named_query);\n        }\n        if (data.document_metadata != null) {\n            message.document_metadata = BundledDocumentMetadata.fromObject(data.document_metadata);\n        }\n        if (data.document != null) {\n            message.document = dependency_1.Document.fromObject(data.document);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            metadata?: ReturnType<typeof BundleMetadata.prototype.toObject>;\n            named_query?: ReturnType<typeof NamedQuery.prototype.toObject>;\n            document_metadata?: ReturnType<typeof BundledDocumentMetadata.prototype.toObject>;\n            document?: ReturnType<typeof dependency_1.Document.prototype.toObject>;\n        } = {};\n        if (this.metadata != null) {\n            data.metadata = this.metadata.toObject();\n        }\n        if (this.named_query != null) {\n            data.named_query = this.named_query.toObject();\n        }\n        if (this.document_metadata != null) {\n            data.document_metadata = this.document_metadata.toObject();\n        }\n        if (this.document != null) {\n            data.document = this.document.toObject();\n        }\n        return data;\n    }\n    serialize(): Uint8Array;\n    serialize(w: pb_1.BinaryWriter): void;\n    serialize(w?: pb_1.BinaryWriter): Uint8Array | void {\n        const writer = w || new pb_1.BinaryWriter();\n        if (this.has_metadata)\n            writer.writeMessage(1, this.metadata, () => this.metadata.serialize(writer));\n        if (this.has_named_query)\n            writer.writeMessage(2, this.named_query, () => this.named_query.serialize(writer));\n        if (this.has_document_metadata)\n            writer.writeMessage(3, this.document_metadata, () => this.document_metadata.serialize(writer));\n        if (this.has_document)\n            writer.writeMessage(4, this.document, () => this.document.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BundleElement {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BundleElement();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.metadata, () => message.metadata = BundleMetadata.deserialize(reader));\n                    break;\n                case 2:\n                    reader.readMessage(message.named_query, () => message.named_query = NamedQuery.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.document_metadata, () => message.document_metadata = BundledDocumentMetadata.deserialize(reader));\n                    break;\n                case 4:\n                    reader.readMessage(message.document, () => message.document = dependency_1.Document.deserialize(reader));\n                    break;\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): BundleElement {\n        return BundleElement.deserialize(bytes);\n    }\n}\n"],"mappings":"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","names":["pb_1","pb_1","pb_1","pb_1","pb_1","pb_1","BundledQueryLimitType"]}