{"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/firestore/v1/aggregation_result.ts","../../../../generated/google/firestore/v1/common.ts","../../../../generated/google/protobuf/wrappers.ts","../../../../generated/google/firestore/v1/query.ts","../../../../generated/google/protobuf/duration.ts","../../../../generated/google/firestore/v1/query_profile.ts","../../../../generated/google/firestore/v1/bloom_filter.ts","../../../../generated/google/firestore/v1/write.ts","../../../../generated/google/protobuf/empty.ts","../../../../generated/google/protobuf/any.ts","../../../../generated/google/rpc/status.ts","../../../../generated/google/firestore/v1/firestore.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/firestore/v1/aggregation_result.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./document\";\nimport * as pb_1 from \"google-protobuf\";\nexport class AggregationResult extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        aggregate_fields?: Map<string, dependency_1.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 (\"aggregate_fields\" in data && data.aggregate_fields != undefined) {\n                this.aggregate_fields = data.aggregate_fields;\n            }\n        }\n        if (!this.aggregate_fields)\n            this.aggregate_fields = new Map();\n    }\n    get aggregate_fields() {\n        return pb_1.Message.getField(this, 2) as any as Map<string, dependency_1.Value>;\n    }\n    set aggregate_fields(value: Map<string, dependency_1.Value>) {\n        pb_1.Message.setField(this, 2, value as any);\n    }\n    static fromObject(data: {\n        aggregate_fields?: {\n            [key: string]: ReturnType<typeof dependency_1.Value.prototype.toObject>;\n        };\n    }): AggregationResult {\n        const message = new AggregationResult({});\n        if (typeof data.aggregate_fields == \"object\") {\n            message.aggregate_fields = new Map(Object.entries(data.aggregate_fields).map(([key, value]) => [key, dependency_1.Value.fromObject(value)]));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            aggregate_fields?: {\n                [key: string]: ReturnType<typeof dependency_1.Value.prototype.toObject>;\n            };\n        } = {};\n        if (this.aggregate_fields != null) {\n            data.aggregate_fields = (Object.fromEntries)((Array.from)(this.aggregate_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.aggregate_fields) {\n            writer.writeMessage(2, this.aggregate_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): AggregationResult {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new AggregationResult();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    reader.readMessage(message, () => pb_1.Map.deserializeBinary(message.aggregate_fields as any, reader, reader.readString, () => {\n                        let value;\n                        reader.readMessage(message, () => value = dependency_1.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): AggregationResult {\n        return AggregationResult.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/common.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./../../protobuf/timestamp\";\nimport * as pb_1 from \"google-protobuf\";\nexport class DocumentMask extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        field_paths?: string[];\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 (\"field_paths\" in data && data.field_paths != undefined) {\n                this.field_paths = data.field_paths;\n            }\n        }\n    }\n    get field_paths() {\n        return pb_1.Message.getFieldWithDefault(this, 1, []) as string[];\n    }\n    set field_paths(value: string[]) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        field_paths?: string[];\n    }): DocumentMask {\n        const message = new DocumentMask({});\n        if (data.field_paths != null) {\n            message.field_paths = data.field_paths;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            field_paths?: string[];\n        } = {};\n        if (this.field_paths != null) {\n            data.field_paths = this.field_paths;\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_paths.length)\n            writer.writeRepeatedString(1, this.field_paths);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentMask {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentMask();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    pb_1.Message.addToRepeatedField(message, 1, 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): DocumentMask {\n        return DocumentMask.deserialize(bytes);\n    }\n}\nexport class Precondition extends pb_1.Message {\n    #one_of_decls: number[][] = [[1, 2]];\n    constructor(data?: any[] | ({} & (({\n        exists?: boolean;\n        update_time?: never;\n    } | {\n        exists?: never;\n        update_time?: dependency_1.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 (\"exists\" in data && data.exists != undefined) {\n                this.exists = data.exists;\n            }\n            if (\"update_time\" in data && data.update_time != undefined) {\n                this.update_time = data.update_time;\n            }\n        }\n    }\n    get exists() {\n        return pb_1.Message.getFieldWithDefault(this, 1, false) as boolean;\n    }\n    set exists(value: boolean) {\n        pb_1.Message.setOneofField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_exists() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get update_time() {\n        return pb_1.Message.getWrapperField(this, dependency_1.Timestamp, 2) as dependency_1.Timestamp;\n    }\n    set update_time(value: dependency_1.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_update_time() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get condition_type() {\n        const cases: {\n            [index: number]: \"none\" | \"exists\" | \"update_time\";\n        } = {\n            0: \"none\",\n            1: \"exists\",\n            2: \"update_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [1, 2])];\n    }\n    static fromObject(data: {\n        exists?: boolean;\n        update_time?: ReturnType<typeof dependency_1.Timestamp.prototype.toObject>;\n    }): Precondition {\n        const message = new Precondition({});\n        if (data.exists != null) {\n            message.exists = data.exists;\n        }\n        if (data.update_time != null) {\n            message.update_time = dependency_1.Timestamp.fromObject(data.update_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            exists?: boolean;\n            update_time?: ReturnType<typeof dependency_1.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.exists != null) {\n            data.exists = this.exists;\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.has_exists)\n            writer.writeBool(1, this.exists);\n        if (this.has_update_time)\n            writer.writeMessage(2, this.update_time, () => this.update_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Precondition {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Precondition();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.exists = reader.readBool();\n                    break;\n                case 2:\n                    reader.readMessage(message.update_time, () => message.update_time = dependency_1.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): Precondition {\n        return Precondition.deserialize(bytes);\n    }\n}\nexport class TransactionOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [[2, 3]];\n    constructor(data?: any[] | ({} & (({\n        read_only?: TransactionOptionsReadOnly;\n        read_write?: never;\n    } | {\n        read_only?: never;\n        read_write?: TransactionOptionsReadWrite;\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 (\"read_only\" in data && data.read_only != undefined) {\n                this.read_only = data.read_only;\n            }\n            if (\"read_write\" in data && data.read_write != undefined) {\n                this.read_write = data.read_write;\n            }\n        }\n    }\n    get read_only() {\n        return pb_1.Message.getWrapperField(this, TransactionOptionsReadOnly, 2) as TransactionOptionsReadOnly;\n    }\n    set read_only(value: TransactionOptionsReadOnly) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_read_only() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get read_write() {\n        return pb_1.Message.getWrapperField(this, TransactionOptionsReadWrite, 3) as TransactionOptionsReadWrite;\n    }\n    set read_write(value: TransactionOptionsReadWrite) {\n        pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_read_write() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get mode() {\n        const cases: {\n            [index: number]: \"none\" | \"read_only\" | \"read_write\";\n        } = {\n            0: \"none\",\n            2: \"read_only\",\n            3: \"read_write\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2, 3])];\n    }\n    static fromObject(data: {\n        read_only?: ReturnType<typeof TransactionOptionsReadOnly.prototype.toObject>;\n        read_write?: ReturnType<typeof TransactionOptionsReadWrite.prototype.toObject>;\n    }): TransactionOptions {\n        const message = new TransactionOptions({});\n        if (data.read_only != null) {\n            message.read_only = TransactionOptionsReadOnly.fromObject(data.read_only);\n        }\n        if (data.read_write != null) {\n            message.read_write = TransactionOptionsReadWrite.fromObject(data.read_write);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            read_only?: ReturnType<typeof TransactionOptionsReadOnly.prototype.toObject>;\n            read_write?: ReturnType<typeof TransactionOptionsReadWrite.prototype.toObject>;\n        } = {};\n        if (this.read_only != null) {\n            data.read_only = this.read_only.toObject();\n        }\n        if (this.read_write != null) {\n            data.read_write = this.read_write.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_read_only)\n            writer.writeMessage(2, this.read_only, () => this.read_only.serialize(writer));\n        if (this.has_read_write)\n            writer.writeMessage(3, this.read_write, () => this.read_write.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): TransactionOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new TransactionOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    reader.readMessage(message.read_only, () => message.read_only = TransactionOptionsReadOnly.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.read_write, () => message.read_write = TransactionOptionsReadWrite.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): TransactionOptions {\n        return TransactionOptions.deserialize(bytes);\n    }\n}\nexport class TransactionOptionsReadWrite extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        retry_transaction?: 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 (\"retry_transaction\" in data && data.retry_transaction != undefined) {\n                this.retry_transaction = data.retry_transaction;\n            }\n        }\n    }\n    get retry_transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0)) as Uint8Array;\n    }\n    set retry_transaction(value: Uint8Array) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        retry_transaction?: Uint8Array;\n    }): TransactionOptionsReadWrite {\n        const message = new TransactionOptionsReadWrite({});\n        if (data.retry_transaction != null) {\n            message.retry_transaction = data.retry_transaction;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            retry_transaction?: Uint8Array;\n        } = {};\n        if (this.retry_transaction != null) {\n            data.retry_transaction = this.retry_transaction;\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.retry_transaction.length)\n            writer.writeBytes(1, this.retry_transaction);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): TransactionOptionsReadWrite {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new TransactionOptionsReadWrite();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.retry_transaction = 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): TransactionOptionsReadWrite {\n        return TransactionOptionsReadWrite.deserialize(bytes);\n    }\n}\nexport class TransactionOptionsReadOnly extends pb_1.Message {\n    #one_of_decls: number[][] = [[2]];\n    constructor(data?: any[] | ({} & (({\n        read_time?: dependency_1.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 (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n        }\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_1.Timestamp, 2) as dependency_1.Timestamp;\n    }\n    set read_time(value: dependency_1.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get consistency_selector() {\n        const cases: {\n            [index: number]: \"none\" | \"read_time\";\n        } = {\n            0: \"none\",\n            2: \"read_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2])];\n    }\n    static fromObject(data: {\n        read_time?: ReturnType<typeof dependency_1.Timestamp.prototype.toObject>;\n    }): TransactionOptionsReadOnly {\n        const message = new TransactionOptionsReadOnly({});\n        if (data.read_time != null) {\n            message.read_time = dependency_1.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            read_time?: ReturnType<typeof dependency_1.Timestamp.prototype.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.has_read_time)\n            writer.writeMessage(2, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): TransactionOptionsReadOnly {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new TransactionOptionsReadOnly();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_1.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): TransactionOptionsReadOnly {\n        return TransactionOptionsReadOnly.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: google/protobuf/duration.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport class Duration 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    }): Duration {\n        const message = new Duration({});\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): Duration {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Duration();\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): Duration {\n        return Duration.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_profile.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./../../api/field_behavior\";\nimport * as dependency_2 from \"./../../protobuf/duration\";\nimport * as dependency_3 from \"./../../protobuf/struct\";\nimport * as pb_1 from \"google-protobuf\";\nexport class ExplainOptions extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        analyze?: 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 (\"analyze\" in data && data.analyze != undefined) {\n                this.analyze = data.analyze;\n            }\n        }\n    }\n    get analyze() {\n        return pb_1.Message.getFieldWithDefault(this, 1, false) as boolean;\n    }\n    set analyze(value: boolean) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        analyze?: boolean;\n    }): ExplainOptions {\n        const message = new ExplainOptions({});\n        if (data.analyze != null) {\n            message.analyze = data.analyze;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            analyze?: boolean;\n        } = {};\n        if (this.analyze != null) {\n            data.analyze = this.analyze;\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.analyze != false)\n            writer.writeBool(1, this.analyze);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ExplainOptions {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ExplainOptions();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.analyze = 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): ExplainOptions {\n        return ExplainOptions.deserialize(bytes);\n    }\n}\nexport class ExplainMetrics extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        plan_summary?: PlanSummary;\n        execution_stats?: ExecutionStats;\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 (\"plan_summary\" in data && data.plan_summary != undefined) {\n                this.plan_summary = data.plan_summary;\n            }\n            if (\"execution_stats\" in data && data.execution_stats != undefined) {\n                this.execution_stats = data.execution_stats;\n            }\n        }\n    }\n    get plan_summary() {\n        return pb_1.Message.getWrapperField(this, PlanSummary, 1) as PlanSummary;\n    }\n    set plan_summary(value: PlanSummary) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_plan_summary() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get execution_stats() {\n        return pb_1.Message.getWrapperField(this, ExecutionStats, 2) as ExecutionStats;\n    }\n    set execution_stats(value: ExecutionStats) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_execution_stats() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    static fromObject(data: {\n        plan_summary?: ReturnType<typeof PlanSummary.prototype.toObject>;\n        execution_stats?: ReturnType<typeof ExecutionStats.prototype.toObject>;\n    }): ExplainMetrics {\n        const message = new ExplainMetrics({});\n        if (data.plan_summary != null) {\n            message.plan_summary = PlanSummary.fromObject(data.plan_summary);\n        }\n        if (data.execution_stats != null) {\n            message.execution_stats = ExecutionStats.fromObject(data.execution_stats);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            plan_summary?: ReturnType<typeof PlanSummary.prototype.toObject>;\n            execution_stats?: ReturnType<typeof ExecutionStats.prototype.toObject>;\n        } = {};\n        if (this.plan_summary != null) {\n            data.plan_summary = this.plan_summary.toObject();\n        }\n        if (this.execution_stats != null) {\n            data.execution_stats = this.execution_stats.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_plan_summary)\n            writer.writeMessage(1, this.plan_summary, () => this.plan_summary.serialize(writer));\n        if (this.has_execution_stats)\n            writer.writeMessage(2, this.execution_stats, () => this.execution_stats.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ExplainMetrics {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ExplainMetrics();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.plan_summary, () => message.plan_summary = PlanSummary.deserialize(reader));\n                    break;\n                case 2:\n                    reader.readMessage(message.execution_stats, () => message.execution_stats = ExecutionStats.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): ExplainMetrics {\n        return ExplainMetrics.deserialize(bytes);\n    }\n}\nexport class PlanSummary extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        indexes_used?: dependency_3.Struct[];\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 (\"indexes_used\" in data && data.indexes_used != undefined) {\n                this.indexes_used = data.indexes_used;\n            }\n        }\n    }\n    get indexes_used() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_3.Struct, 1) as dependency_3.Struct[];\n    }\n    set indexes_used(value: dependency_3.Struct[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    static fromObject(data: {\n        indexes_used?: ReturnType<typeof dependency_3.Struct.prototype.toObject>[];\n    }): PlanSummary {\n        const message = new PlanSummary({});\n        if (data.indexes_used != null) {\n            message.indexes_used = data.indexes_used.map(item => dependency_3.Struct.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            indexes_used?: ReturnType<typeof dependency_3.Struct.prototype.toObject>[];\n        } = {};\n        if (this.indexes_used != null) {\n            data.indexes_used = this.indexes_used.map((item: dependency_3.Struct) => 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.indexes_used.length)\n            writer.writeRepeatedMessage(1, this.indexes_used, (item: dependency_3.Struct) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): PlanSummary {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new PlanSummary();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.indexes_used, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_3.Struct.deserialize(reader), dependency_3.Struct));\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): PlanSummary {\n        return PlanSummary.deserialize(bytes);\n    }\n}\nexport class ExecutionStats extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        results_returned?: number;\n        execution_duration?: dependency_2.Duration;\n        read_operations?: number;\n        debug_stats?: dependency_3.Struct;\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 (\"results_returned\" in data && data.results_returned != undefined) {\n                this.results_returned = data.results_returned;\n            }\n            if (\"execution_duration\" in data && data.execution_duration != undefined) {\n                this.execution_duration = data.execution_duration;\n            }\n            if (\"read_operations\" in data && data.read_operations != undefined) {\n                this.read_operations = data.read_operations;\n            }\n            if (\"debug_stats\" in data && data.debug_stats != undefined) {\n                this.debug_stats = data.debug_stats;\n            }\n        }\n    }\n    get results_returned() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set results_returned(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get execution_duration() {\n        return pb_1.Message.getWrapperField(this, dependency_2.Duration, 3) as dependency_2.Duration;\n    }\n    set execution_duration(value: dependency_2.Duration) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_execution_duration() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get read_operations() {\n        return pb_1.Message.getFieldWithDefault(this, 4, 0) as number;\n    }\n    set read_operations(value: number) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get debug_stats() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Struct, 5) as dependency_3.Struct;\n    }\n    set debug_stats(value: dependency_3.Struct) {\n        pb_1.Message.setWrapperField(this, 5, value);\n    }\n    get has_debug_stats() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    static fromObject(data: {\n        results_returned?: number;\n        execution_duration?: ReturnType<typeof dependency_2.Duration.prototype.toObject>;\n        read_operations?: number;\n        debug_stats?: ReturnType<typeof dependency_3.Struct.prototype.toObject>;\n    }): ExecutionStats {\n        const message = new ExecutionStats({});\n        if (data.results_returned != null) {\n            message.results_returned = data.results_returned;\n        }\n        if (data.execution_duration != null) {\n            message.execution_duration = dependency_2.Duration.fromObject(data.execution_duration);\n        }\n        if (data.read_operations != null) {\n            message.read_operations = data.read_operations;\n        }\n        if (data.debug_stats != null) {\n            message.debug_stats = dependency_3.Struct.fromObject(data.debug_stats);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            results_returned?: number;\n            execution_duration?: ReturnType<typeof dependency_2.Duration.prototype.toObject>;\n            read_operations?: number;\n            debug_stats?: ReturnType<typeof dependency_3.Struct.prototype.toObject>;\n        } = {};\n        if (this.results_returned != null) {\n            data.results_returned = this.results_returned;\n        }\n        if (this.execution_duration != null) {\n            data.execution_duration = this.execution_duration.toObject();\n        }\n        if (this.read_operations != null) {\n            data.read_operations = this.read_operations;\n        }\n        if (this.debug_stats != null) {\n            data.debug_stats = this.debug_stats.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.results_returned != 0)\n            writer.writeInt64(1, this.results_returned);\n        if (this.has_execution_duration)\n            writer.writeMessage(3, this.execution_duration, () => this.execution_duration.serialize(writer));\n        if (this.read_operations != 0)\n            writer.writeInt64(4, this.read_operations);\n        if (this.has_debug_stats)\n            writer.writeMessage(5, this.debug_stats, () => this.debug_stats.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ExecutionStats {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ExecutionStats();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.results_returned = reader.readInt64();\n                    break;\n                case 3:\n                    reader.readMessage(message.execution_duration, () => message.execution_duration = dependency_2.Duration.deserialize(reader));\n                    break;\n                case 4:\n                    message.read_operations = reader.readInt64();\n                    break;\n                case 5:\n                    reader.readMessage(message.debug_stats, () => message.debug_stats = dependency_3.Struct.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): ExecutionStats {\n        return ExecutionStats.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/bloom_filter.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport class BitSequence extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        bitmap?: Uint8Array;\n        padding?: 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 (\"bitmap\" in data && data.bitmap != undefined) {\n                this.bitmap = data.bitmap;\n            }\n            if (\"padding\" in data && data.padding != undefined) {\n                this.padding = data.padding;\n            }\n        }\n    }\n    get bitmap() {\n        return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0)) as Uint8Array;\n    }\n    set bitmap(value: Uint8Array) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get padding() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set padding(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        bitmap?: Uint8Array;\n        padding?: number;\n    }): BitSequence {\n        const message = new BitSequence({});\n        if (data.bitmap != null) {\n            message.bitmap = data.bitmap;\n        }\n        if (data.padding != null) {\n            message.padding = data.padding;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            bitmap?: Uint8Array;\n            padding?: number;\n        } = {};\n        if (this.bitmap != null) {\n            data.bitmap = this.bitmap;\n        }\n        if (this.padding != null) {\n            data.padding = this.padding;\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.bitmap.length)\n            writer.writeBytes(1, this.bitmap);\n        if (this.padding != 0)\n            writer.writeInt32(2, this.padding);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BitSequence {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BitSequence();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.bitmap = reader.readBytes();\n                    break;\n                case 2:\n                    message.padding = 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): BitSequence {\n        return BitSequence.deserialize(bytes);\n    }\n}\nexport class BloomFilter extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        bits?: BitSequence;\n        hash_count?: 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 (\"bits\" in data && data.bits != undefined) {\n                this.bits = data.bits;\n            }\n            if (\"hash_count\" in data && data.hash_count != undefined) {\n                this.hash_count = data.hash_count;\n            }\n        }\n    }\n    get bits() {\n        return pb_1.Message.getWrapperField(this, BitSequence, 1) as BitSequence;\n    }\n    set bits(value: BitSequence) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_bits() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get hash_count() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set hash_count(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        bits?: ReturnType<typeof BitSequence.prototype.toObject>;\n        hash_count?: number;\n    }): BloomFilter {\n        const message = new BloomFilter({});\n        if (data.bits != null) {\n            message.bits = BitSequence.fromObject(data.bits);\n        }\n        if (data.hash_count != null) {\n            message.hash_count = data.hash_count;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            bits?: ReturnType<typeof BitSequence.prototype.toObject>;\n            hash_count?: number;\n        } = {};\n        if (this.bits != null) {\n            data.bits = this.bits.toObject();\n        }\n        if (this.hash_count != null) {\n            data.hash_count = this.hash_count;\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_bits)\n            writer.writeMessage(1, this.bits, () => this.bits.serialize(writer));\n        if (this.hash_count != 0)\n            writer.writeInt32(2, this.hash_count);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BloomFilter {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BloomFilter();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.bits, () => message.bits = BitSequence.deserialize(reader));\n                    break;\n                case 2:\n                    message.hash_count = 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): BloomFilter {\n        return BloomFilter.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/write.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./bloom_filter\";\nimport * as dependency_2 from \"./common\";\nimport * as dependency_3 from \"./document\";\nimport * as dependency_4 from \"./../../protobuf/timestamp\";\nimport * as pb_1 from \"google-protobuf\";\nexport class Write extends pb_1.Message {\n    #one_of_decls: number[][] = [[1, 2, 6]];\n    constructor(data?: any[] | ({\n        update_mask?: dependency_2.DocumentMask;\n        update_transforms?: DocumentTransformFieldTransform[];\n        current_document?: dependency_2.Precondition;\n    } & (({\n        update?: dependency_3.Document;\n        delete?: never;\n        transform?: never;\n    } | {\n        update?: never;\n        delete?: string;\n        transform?: never;\n    } | {\n        update?: never;\n        delete?: never;\n        transform?: DocumentTransform;\n    })))) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [7], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"update\" in data && data.update != undefined) {\n                this.update = data.update;\n            }\n            if (\"delete\" in data && data.delete != undefined) {\n                this.delete = data.delete;\n            }\n            if (\"transform\" in data && data.transform != undefined) {\n                this.transform = data.transform;\n            }\n            if (\"update_mask\" in data && data.update_mask != undefined) {\n                this.update_mask = data.update_mask;\n            }\n            if (\"update_transforms\" in data && data.update_transforms != undefined) {\n                this.update_transforms = data.update_transforms;\n            }\n            if (\"current_document\" in data && data.current_document != undefined) {\n                this.current_document = data.current_document;\n            }\n        }\n    }\n    get update() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Document, 1) as dependency_3.Document;\n    }\n    set update(value: dependency_3.Document) {\n        pb_1.Message.setOneofWrapperField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_update() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get delete() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set delete(value: string) {\n        pb_1.Message.setOneofField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_delete() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get transform() {\n        return pb_1.Message.getWrapperField(this, DocumentTransform, 6) as DocumentTransform;\n    }\n    set transform(value: DocumentTransform) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);\n    }\n    get has_transform() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get update_mask() {\n        return pb_1.Message.getWrapperField(this, dependency_2.DocumentMask, 3) as dependency_2.DocumentMask;\n    }\n    set update_mask(value: dependency_2.DocumentMask) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_update_mask() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get update_transforms() {\n        return pb_1.Message.getRepeatedWrapperField(this, DocumentTransformFieldTransform, 7) as DocumentTransformFieldTransform[];\n    }\n    set update_transforms(value: DocumentTransformFieldTransform[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 7, value);\n    }\n    get current_document() {\n        return pb_1.Message.getWrapperField(this, dependency_2.Precondition, 4) as dependency_2.Precondition;\n    }\n    set current_document(value: dependency_2.Precondition) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_current_document() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get operation() {\n        const cases: {\n            [index: number]: \"none\" | \"update\" | \"delete\" | \"transform\";\n        } = {\n            0: \"none\",\n            1: \"update\",\n            2: \"delete\",\n            6: \"transform\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [1, 2, 6])];\n    }\n    static fromObject(data: {\n        update?: ReturnType<typeof dependency_3.Document.prototype.toObject>;\n        delete?: string;\n        transform?: ReturnType<typeof DocumentTransform.prototype.toObject>;\n        update_mask?: ReturnType<typeof dependency_2.DocumentMask.prototype.toObject>;\n        update_transforms?: ReturnType<typeof DocumentTransformFieldTransform.prototype.toObject>[];\n        current_document?: ReturnType<typeof dependency_2.Precondition.prototype.toObject>;\n    }): Write {\n        const message = new Write({});\n        if (data.update != null) {\n            message.update = dependency_3.Document.fromObject(data.update);\n        }\n        if (data.delete != null) {\n            message.delete = data.delete;\n        }\n        if (data.transform != null) {\n            message.transform = DocumentTransform.fromObject(data.transform);\n        }\n        if (data.update_mask != null) {\n            message.update_mask = dependency_2.DocumentMask.fromObject(data.update_mask);\n        }\n        if (data.update_transforms != null) {\n            message.update_transforms = data.update_transforms.map(item => DocumentTransformFieldTransform.fromObject(item));\n        }\n        if (data.current_document != null) {\n            message.current_document = dependency_2.Precondition.fromObject(data.current_document);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            update?: ReturnType<typeof dependency_3.Document.prototype.toObject>;\n            delete?: string;\n            transform?: ReturnType<typeof DocumentTransform.prototype.toObject>;\n            update_mask?: ReturnType<typeof dependency_2.DocumentMask.prototype.toObject>;\n            update_transforms?: ReturnType<typeof DocumentTransformFieldTransform.prototype.toObject>[];\n            current_document?: ReturnType<typeof dependency_2.Precondition.prototype.toObject>;\n        } = {};\n        if (this.update != null) {\n            data.update = this.update.toObject();\n        }\n        if (this.delete != null) {\n            data.delete = this.delete;\n        }\n        if (this.transform != null) {\n            data.transform = this.transform.toObject();\n        }\n        if (this.update_mask != null) {\n            data.update_mask = this.update_mask.toObject();\n        }\n        if (this.update_transforms != null) {\n            data.update_transforms = this.update_transforms.map((item: DocumentTransformFieldTransform) => item.toObject());\n        }\n        if (this.current_document != null) {\n            data.current_document = this.current_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_update)\n            writer.writeMessage(1, this.update, () => this.update.serialize(writer));\n        if (this.has_delete)\n            writer.writeString(2, this.delete);\n        if (this.has_transform)\n            writer.writeMessage(6, this.transform, () => this.transform.serialize(writer));\n        if (this.has_update_mask)\n            writer.writeMessage(3, this.update_mask, () => this.update_mask.serialize(writer));\n        if (this.update_transforms.length)\n            writer.writeRepeatedMessage(7, this.update_transforms, (item: DocumentTransformFieldTransform) => item.serialize(writer));\n        if (this.has_current_document)\n            writer.writeMessage(4, this.current_document, () => this.current_document.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Write {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Write();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.update, () => message.update = dependency_3.Document.deserialize(reader));\n                    break;\n                case 2:\n                    message.delete = reader.readString();\n                    break;\n                case 6:\n                    reader.readMessage(message.transform, () => message.transform = DocumentTransform.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.update_mask, () => message.update_mask = dependency_2.DocumentMask.deserialize(reader));\n                    break;\n                case 7:\n                    reader.readMessage(message.update_transforms, () => pb_1.Message.addToRepeatedWrapperField(message, 7, DocumentTransformFieldTransform.deserialize(reader), DocumentTransformFieldTransform));\n                    break;\n                case 4:\n                    reader.readMessage(message.current_document, () => message.current_document = dependency_2.Precondition.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): Write {\n        return Write.deserialize(bytes);\n    }\n}\nexport class DocumentTransform extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        document?: string;\n        field_transforms?: DocumentTransformFieldTransform[];\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 (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n            if (\"field_transforms\" in data && data.field_transforms != undefined) {\n                this.field_transforms = data.field_transforms;\n            }\n        }\n    }\n    get document() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set document(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get field_transforms() {\n        return pb_1.Message.getRepeatedWrapperField(this, DocumentTransformFieldTransform, 2) as DocumentTransformFieldTransform[];\n    }\n    set field_transforms(value: DocumentTransformFieldTransform[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    static fromObject(data: {\n        document?: string;\n        field_transforms?: ReturnType<typeof DocumentTransformFieldTransform.prototype.toObject>[];\n    }): DocumentTransform {\n        const message = new DocumentTransform({});\n        if (data.document != null) {\n            message.document = data.document;\n        }\n        if (data.field_transforms != null) {\n            message.field_transforms = data.field_transforms.map(item => DocumentTransformFieldTransform.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            document?: string;\n            field_transforms?: ReturnType<typeof DocumentTransformFieldTransform.prototype.toObject>[];\n        } = {};\n        if (this.document != null) {\n            data.document = this.document;\n        }\n        if (this.field_transforms != null) {\n            data.field_transforms = this.field_transforms.map((item: DocumentTransformFieldTransform) => 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.document.length)\n            writer.writeString(1, this.document);\n        if (this.field_transforms.length)\n            writer.writeRepeatedMessage(2, this.field_transforms, (item: DocumentTransformFieldTransform) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentTransform {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentTransform();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.document = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.field_transforms, () => pb_1.Message.addToRepeatedWrapperField(message, 2, DocumentTransformFieldTransform.deserialize(reader), DocumentTransformFieldTransform));\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): DocumentTransform {\n        return DocumentTransform.deserialize(bytes);\n    }\n}\nexport class DocumentTransformFieldTransform extends pb_1.Message {\n    #one_of_decls: number[][] = [[2, 3, 4, 5, 6, 7]];\n    constructor(data?: any[] | ({\n        field_path?: string;\n    } & (({\n        set_to_server_value?: DocumentTransformFieldTransformServerValue;\n        increment?: never;\n        maximum?: never;\n        minimum?: never;\n        append_missing_elements?: never;\n        remove_all_from_array?: never;\n    } | {\n        set_to_server_value?: never;\n        increment?: dependency_3.Value;\n        maximum?: never;\n        minimum?: never;\n        append_missing_elements?: never;\n        remove_all_from_array?: never;\n    } | {\n        set_to_server_value?: never;\n        increment?: never;\n        maximum?: dependency_3.Value;\n        minimum?: never;\n        append_missing_elements?: never;\n        remove_all_from_array?: never;\n    } | {\n        set_to_server_value?: never;\n        increment?: never;\n        maximum?: never;\n        minimum?: dependency_3.Value;\n        append_missing_elements?: never;\n        remove_all_from_array?: never;\n    } | {\n        set_to_server_value?: never;\n        increment?: never;\n        maximum?: never;\n        minimum?: never;\n        append_missing_elements?: dependency_3.ArrayValue;\n        remove_all_from_array?: never;\n    } | {\n        set_to_server_value?: never;\n        increment?: never;\n        maximum?: never;\n        minimum?: never;\n        append_missing_elements?: never;\n        remove_all_from_array?: dependency_3.ArrayValue;\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            if (\"set_to_server_value\" in data && data.set_to_server_value != undefined) {\n                this.set_to_server_value = data.set_to_server_value;\n            }\n            if (\"increment\" in data && data.increment != undefined) {\n                this.increment = data.increment;\n            }\n            if (\"maximum\" in data && data.maximum != undefined) {\n                this.maximum = data.maximum;\n            }\n            if (\"minimum\" in data && data.minimum != undefined) {\n                this.minimum = data.minimum;\n            }\n            if (\"append_missing_elements\" in data && data.append_missing_elements != undefined) {\n                this.append_missing_elements = data.append_missing_elements;\n            }\n            if (\"remove_all_from_array\" in data && data.remove_all_from_array != undefined) {\n                this.remove_all_from_array = data.remove_all_from_array;\n            }\n        }\n    }\n    get field_path() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set field_path(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get set_to_server_value() {\n        return pb_1.Message.getFieldWithDefault(this, 2, DocumentTransformFieldTransformServerValue.SERVER_VALUE_UNSPECIFIED) as DocumentTransformFieldTransformServerValue;\n    }\n    set set_to_server_value(value: DocumentTransformFieldTransformServerValue) {\n        pb_1.Message.setOneofField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_set_to_server_value() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get increment() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Value, 3) as dependency_3.Value;\n    }\n    set increment(value: dependency_3.Value) {\n        pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_increment() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get maximum() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Value, 4) as dependency_3.Value;\n    }\n    set maximum(value: dependency_3.Value) {\n        pb_1.Message.setOneofWrapperField(this, 4, this.#one_of_decls[0], value);\n    }\n    get has_maximum() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get minimum() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Value, 5) as dependency_3.Value;\n    }\n    set minimum(value: dependency_3.Value) {\n        pb_1.Message.setOneofWrapperField(this, 5, this.#one_of_decls[0], value);\n    }\n    get has_minimum() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get append_missing_elements() {\n        return pb_1.Message.getWrapperField(this, dependency_3.ArrayValue, 6) as dependency_3.ArrayValue;\n    }\n    set append_missing_elements(value: dependency_3.ArrayValue) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);\n    }\n    get has_append_missing_elements() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get remove_all_from_array() {\n        return pb_1.Message.getWrapperField(this, dependency_3.ArrayValue, 7) as dependency_3.ArrayValue;\n    }\n    set remove_all_from_array(value: dependency_3.ArrayValue) {\n        pb_1.Message.setOneofWrapperField(this, 7, this.#one_of_decls[0], value);\n    }\n    get has_remove_all_from_array() {\n        return pb_1.Message.getField(this, 7) != null;\n    }\n    get transform_type() {\n        const cases: {\n            [index: number]: \"none\" | \"set_to_server_value\" | \"increment\" | \"maximum\" | \"minimum\" | \"append_missing_elements\" | \"remove_all_from_array\";\n        } = {\n            0: \"none\",\n            2: \"set_to_server_value\",\n            3: \"increment\",\n            4: \"maximum\",\n            5: \"minimum\",\n            6: \"append_missing_elements\",\n            7: \"remove_all_from_array\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2, 3, 4, 5, 6, 7])];\n    }\n    static fromObject(data: {\n        field_path?: string;\n        set_to_server_value?: DocumentTransformFieldTransformServerValue;\n        increment?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n        maximum?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n        minimum?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n        append_missing_elements?: ReturnType<typeof dependency_3.ArrayValue.prototype.toObject>;\n        remove_all_from_array?: ReturnType<typeof dependency_3.ArrayValue.prototype.toObject>;\n    }): DocumentTransformFieldTransform {\n        const message = new DocumentTransformFieldTransform({});\n        if (data.field_path != null) {\n            message.field_path = data.field_path;\n        }\n        if (data.set_to_server_value != null) {\n            message.set_to_server_value = data.set_to_server_value;\n        }\n        if (data.increment != null) {\n            message.increment = dependency_3.Value.fromObject(data.increment);\n        }\n        if (data.maximum != null) {\n            message.maximum = dependency_3.Value.fromObject(data.maximum);\n        }\n        if (data.minimum != null) {\n            message.minimum = dependency_3.Value.fromObject(data.minimum);\n        }\n        if (data.append_missing_elements != null) {\n            message.append_missing_elements = dependency_3.ArrayValue.fromObject(data.append_missing_elements);\n        }\n        if (data.remove_all_from_array != null) {\n            message.remove_all_from_array = dependency_3.ArrayValue.fromObject(data.remove_all_from_array);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            field_path?: string;\n            set_to_server_value?: DocumentTransformFieldTransformServerValue;\n            increment?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n            maximum?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n            minimum?: ReturnType<typeof dependency_3.Value.prototype.toObject>;\n            append_missing_elements?: ReturnType<typeof dependency_3.ArrayValue.prototype.toObject>;\n            remove_all_from_array?: ReturnType<typeof dependency_3.ArrayValue.prototype.toObject>;\n        } = {};\n        if (this.field_path != null) {\n            data.field_path = this.field_path;\n        }\n        if (this.set_to_server_value != null) {\n            data.set_to_server_value = this.set_to_server_value;\n        }\n        if (this.increment != null) {\n            data.increment = this.increment.toObject();\n        }\n        if (this.maximum != null) {\n            data.maximum = this.maximum.toObject();\n        }\n        if (this.minimum != null) {\n            data.minimum = this.minimum.toObject();\n        }\n        if (this.append_missing_elements != null) {\n            data.append_missing_elements = this.append_missing_elements.toObject();\n        }\n        if (this.remove_all_from_array != null) {\n            data.remove_all_from_array = this.remove_all_from_array.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.field_path.length)\n            writer.writeString(1, this.field_path);\n        if (this.has_set_to_server_value)\n            writer.writeEnum(2, this.set_to_server_value);\n        if (this.has_increment)\n            writer.writeMessage(3, this.increment, () => this.increment.serialize(writer));\n        if (this.has_maximum)\n            writer.writeMessage(4, this.maximum, () => this.maximum.serialize(writer));\n        if (this.has_minimum)\n            writer.writeMessage(5, this.minimum, () => this.minimum.serialize(writer));\n        if (this.has_append_missing_elements)\n            writer.writeMessage(6, this.append_missing_elements, () => this.append_missing_elements.serialize(writer));\n        if (this.has_remove_all_from_array)\n            writer.writeMessage(7, this.remove_all_from_array, () => this.remove_all_from_array.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentTransformFieldTransform {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentTransformFieldTransform();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.field_path = reader.readString();\n                    break;\n                case 2:\n                    message.set_to_server_value = reader.readEnum();\n                    break;\n                case 3:\n                    reader.readMessage(message.increment, () => message.increment = dependency_3.Value.deserialize(reader));\n                    break;\n                case 4:\n                    reader.readMessage(message.maximum, () => message.maximum = dependency_3.Value.deserialize(reader));\n                    break;\n                case 5:\n                    reader.readMessage(message.minimum, () => message.minimum = dependency_3.Value.deserialize(reader));\n                    break;\n                case 6:\n                    reader.readMessage(message.append_missing_elements, () => message.append_missing_elements = dependency_3.ArrayValue.deserialize(reader));\n                    break;\n                case 7:\n                    reader.readMessage(message.remove_all_from_array, () => message.remove_all_from_array = dependency_3.ArrayValue.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): DocumentTransformFieldTransform {\n        return DocumentTransformFieldTransform.deserialize(bytes);\n    }\n}\nexport enum DocumentTransformFieldTransformServerValue {\n    SERVER_VALUE_UNSPECIFIED = 0,\n    REQUEST_TIME = 1\n}\nexport class WriteResult extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        update_time?: dependency_4.Timestamp;\n        transform_results?: dependency_3.Value[];\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 (\"update_time\" in data && data.update_time != undefined) {\n                this.update_time = data.update_time;\n            }\n            if (\"transform_results\" in data && data.transform_results != undefined) {\n                this.transform_results = data.transform_results;\n            }\n        }\n    }\n    get update_time() {\n        return pb_1.Message.getWrapperField(this, dependency_4.Timestamp, 1) as dependency_4.Timestamp;\n    }\n    set update_time(value: dependency_4.Timestamp) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_update_time() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get transform_results() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_3.Value, 2) as dependency_3.Value[];\n    }\n    set transform_results(value: dependency_3.Value[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    static fromObject(data: {\n        update_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n        transform_results?: ReturnType<typeof dependency_3.Value.prototype.toObject>[];\n    }): WriteResult {\n        const message = new WriteResult({});\n        if (data.update_time != null) {\n            message.update_time = dependency_4.Timestamp.fromObject(data.update_time);\n        }\n        if (data.transform_results != null) {\n            message.transform_results = data.transform_results.map(item => dependency_3.Value.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            update_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n            transform_results?: ReturnType<typeof dependency_3.Value.prototype.toObject>[];\n        } = {};\n        if (this.update_time != null) {\n            data.update_time = this.update_time.toObject();\n        }\n        if (this.transform_results != null) {\n            data.transform_results = this.transform_results.map((item: dependency_3.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.has_update_time)\n            writer.writeMessage(1, this.update_time, () => this.update_time.serialize(writer));\n        if (this.transform_results.length)\n            writer.writeRepeatedMessage(2, this.transform_results, (item: dependency_3.Value) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): WriteResult {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new WriteResult();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.update_time, () => message.update_time = dependency_4.Timestamp.deserialize(reader));\n                    break;\n                case 2:\n                    reader.readMessage(message.transform_results, () => pb_1.Message.addToRepeatedWrapperField(message, 2, dependency_3.Value.deserialize(reader), dependency_3.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): WriteResult {\n        return WriteResult.deserialize(bytes);\n    }\n}\nexport class DocumentChange extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        document?: dependency_3.Document;\n        target_ids?: number[];\n        removed_target_ids?: number[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [5, 6], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n            if (\"target_ids\" in data && data.target_ids != undefined) {\n                this.target_ids = data.target_ids;\n            }\n            if (\"removed_target_ids\" in data && data.removed_target_ids != undefined) {\n                this.removed_target_ids = data.removed_target_ids;\n            }\n        }\n    }\n    get document() {\n        return pb_1.Message.getWrapperField(this, dependency_3.Document, 1) as dependency_3.Document;\n    }\n    set document(value: dependency_3.Document) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_document() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get target_ids() {\n        return pb_1.Message.getFieldWithDefault(this, 5, []) as number[];\n    }\n    set target_ids(value: number[]) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get removed_target_ids() {\n        return pb_1.Message.getFieldWithDefault(this, 6, []) as number[];\n    }\n    set removed_target_ids(value: number[]) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    static fromObject(data: {\n        document?: ReturnType<typeof dependency_3.Document.prototype.toObject>;\n        target_ids?: number[];\n        removed_target_ids?: number[];\n    }): DocumentChange {\n        const message = new DocumentChange({});\n        if (data.document != null) {\n            message.document = dependency_3.Document.fromObject(data.document);\n        }\n        if (data.target_ids != null) {\n            message.target_ids = data.target_ids;\n        }\n        if (data.removed_target_ids != null) {\n            message.removed_target_ids = data.removed_target_ids;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            document?: ReturnType<typeof dependency_3.Document.prototype.toObject>;\n            target_ids?: number[];\n            removed_target_ids?: number[];\n        } = {};\n        if (this.document != null) {\n            data.document = this.document.toObject();\n        }\n        if (this.target_ids != null) {\n            data.target_ids = this.target_ids;\n        }\n        if (this.removed_target_ids != null) {\n            data.removed_target_ids = this.removed_target_ids;\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_document)\n            writer.writeMessage(1, this.document, () => this.document.serialize(writer));\n        if (this.target_ids.length)\n            writer.writePackedInt32(5, this.target_ids);\n        if (this.removed_target_ids.length)\n            writer.writePackedInt32(6, this.removed_target_ids);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentChange {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentChange();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.document, () => message.document = dependency_3.Document.deserialize(reader));\n                    break;\n                case 5:\n                    message.target_ids = reader.readPackedInt32();\n                    break;\n                case 6:\n                    message.removed_target_ids = reader.readPackedInt32();\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): DocumentChange {\n        return DocumentChange.deserialize(bytes);\n    }\n}\nexport class DocumentDelete extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        document?: string;\n        removed_target_ids?: number[];\n        read_time?: dependency_4.Timestamp;\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [6], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n            if (\"removed_target_ids\" in data && data.removed_target_ids != undefined) {\n                this.removed_target_ids = data.removed_target_ids;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n        }\n    }\n    get document() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set document(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get removed_target_ids() {\n        return pb_1.Message.getFieldWithDefault(this, 6, []) as number[];\n    }\n    set removed_target_ids(value: number[]) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_4.Timestamp, 4) as dependency_4.Timestamp;\n    }\n    set read_time(value: dependency_4.Timestamp) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    static fromObject(data: {\n        document?: string;\n        removed_target_ids?: number[];\n        read_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n    }): DocumentDelete {\n        const message = new DocumentDelete({});\n        if (data.document != null) {\n            message.document = data.document;\n        }\n        if (data.removed_target_ids != null) {\n            message.removed_target_ids = data.removed_target_ids;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_4.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            document?: string;\n            removed_target_ids?: number[];\n            read_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.document != null) {\n            data.document = this.document;\n        }\n        if (this.removed_target_ids != null) {\n            data.removed_target_ids = this.removed_target_ids;\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.document.length)\n            writer.writeString(1, this.document);\n        if (this.removed_target_ids.length)\n            writer.writePackedInt32(6, this.removed_target_ids);\n        if (this.has_read_time)\n            writer.writeMessage(4, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentDelete {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentDelete();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.document = reader.readString();\n                    break;\n                case 6:\n                    message.removed_target_ids = reader.readPackedInt32();\n                    break;\n                case 4:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_4.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): DocumentDelete {\n        return DocumentDelete.deserialize(bytes);\n    }\n}\nexport class DocumentRemove extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        document?: string;\n        removed_target_ids?: number[];\n        read_time?: dependency_4.Timestamp;\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 (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n            if (\"removed_target_ids\" in data && data.removed_target_ids != undefined) {\n                this.removed_target_ids = data.removed_target_ids;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n        }\n    }\n    get document() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set document(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get removed_target_ids() {\n        return pb_1.Message.getFieldWithDefault(this, 2, []) as number[];\n    }\n    set removed_target_ids(value: number[]) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_4.Timestamp, 4) as dependency_4.Timestamp;\n    }\n    set read_time(value: dependency_4.Timestamp) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    static fromObject(data: {\n        document?: string;\n        removed_target_ids?: number[];\n        read_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n    }): DocumentRemove {\n        const message = new DocumentRemove({});\n        if (data.document != null) {\n            message.document = data.document;\n        }\n        if (data.removed_target_ids != null) {\n            message.removed_target_ids = data.removed_target_ids;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_4.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            document?: string;\n            removed_target_ids?: number[];\n            read_time?: ReturnType<typeof dependency_4.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.document != null) {\n            data.document = this.document;\n        }\n        if (this.removed_target_ids != null) {\n            data.removed_target_ids = this.removed_target_ids;\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.document.length)\n            writer.writeString(1, this.document);\n        if (this.removed_target_ids.length)\n            writer.writePackedInt32(2, this.removed_target_ids);\n        if (this.has_read_time)\n            writer.writeMessage(4, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DocumentRemove {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DocumentRemove();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.document = reader.readString();\n                    break;\n                case 2:\n                    message.removed_target_ids = reader.readPackedInt32();\n                    break;\n                case 4:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_4.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): DocumentRemove {\n        return DocumentRemove.deserialize(bytes);\n    }\n}\nexport class ExistenceFilter extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        target_id?: number;\n        count?: number;\n        unchanged_names?: dependency_1.BloomFilter;\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 (\"target_id\" in data && data.target_id != undefined) {\n                this.target_id = data.target_id;\n            }\n            if (\"count\" in data && data.count != undefined) {\n                this.count = data.count;\n            }\n            if (\"unchanged_names\" in data && data.unchanged_names != undefined) {\n                this.unchanged_names = data.unchanged_names;\n            }\n        }\n    }\n    get target_id() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set target_id(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get count() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set count(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get unchanged_names() {\n        return pb_1.Message.getWrapperField(this, dependency_1.BloomFilter, 3) as dependency_1.BloomFilter;\n    }\n    set unchanged_names(value: dependency_1.BloomFilter) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_unchanged_names() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    static fromObject(data: {\n        target_id?: number;\n        count?: number;\n        unchanged_names?: ReturnType<typeof dependency_1.BloomFilter.prototype.toObject>;\n    }): ExistenceFilter {\n        const message = new ExistenceFilter({});\n        if (data.target_id != null) {\n            message.target_id = data.target_id;\n        }\n        if (data.count != null) {\n            message.count = data.count;\n        }\n        if (data.unchanged_names != null) {\n            message.unchanged_names = dependency_1.BloomFilter.fromObject(data.unchanged_names);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            target_id?: number;\n            count?: number;\n            unchanged_names?: ReturnType<typeof dependency_1.BloomFilter.prototype.toObject>;\n        } = {};\n        if (this.target_id != null) {\n            data.target_id = this.target_id;\n        }\n        if (this.count != null) {\n            data.count = this.count;\n        }\n        if (this.unchanged_names != null) {\n            data.unchanged_names = this.unchanged_names.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.target_id != 0)\n            writer.writeInt32(1, this.target_id);\n        if (this.count != 0)\n            writer.writeInt32(2, this.count);\n        if (this.has_unchanged_names)\n            writer.writeMessage(3, this.unchanged_names, () => this.unchanged_names.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ExistenceFilter {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ExistenceFilter();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.target_id = reader.readInt32();\n                    break;\n                case 2:\n                    message.count = reader.readInt32();\n                    break;\n                case 3:\n                    reader.readMessage(message.unchanged_names, () => message.unchanged_names = dependency_1.BloomFilter.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): ExistenceFilter {\n        return ExistenceFilter.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/empty.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport class Empty extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {}) {\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    }\n    static fromObject(data: {}): Empty {\n        const message = new Empty({});\n        return message;\n    }\n    toObject() {\n        const data: {} = {};\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 (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Empty {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Empty();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                default: reader.skipField();\n            }\n        }\n        return message;\n    }\n    serializeBinary(): Uint8Array {\n        return this.serialize();\n    }\n    static override deserializeBinary(bytes: Uint8Array): Empty {\n        return Empty.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/any.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as pb_1 from \"google-protobuf\";\nexport class Any extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        type_url?: string;\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 (\"type_url\" in data && data.type_url != undefined) {\n                this.type_url = data.type_url;\n            }\n            if (\"value\" in data && data.value != undefined) {\n                this.value = data.value;\n            }\n        }\n    }\n    get type_url() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set type_url(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get value() {\n        return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;\n    }\n    set value(value: Uint8Array) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        type_url?: string;\n        value?: Uint8Array;\n    }): Any {\n        const message = new Any({});\n        if (data.type_url != null) {\n            message.type_url = data.type_url;\n        }\n        if (data.value != null) {\n            message.value = data.value;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            type_url?: string;\n            value?: Uint8Array;\n        } = {};\n        if (this.type_url != null) {\n            data.type_url = this.type_url;\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.type_url.length)\n            writer.writeString(1, this.type_url);\n        if (this.value.length)\n            writer.writeBytes(2, this.value);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Any {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Any();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.type_url = reader.readString();\n                    break;\n                case 2:\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): Any {\n        return Any.deserialize(bytes);\n    }\n}\n","/**\n * Generated by the protoc-gen-ts.  DO NOT EDIT!\n * compiler version: 3.19.1\n * source: google/rpc/status.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./../protobuf/any\";\nimport * as pb_1 from \"google-protobuf\";\nexport class Status extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        code?: number;\n        message?: string;\n        details?: dependency_1.Any[];\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 (\"code\" in data && data.code != undefined) {\n                this.code = data.code;\n            }\n            if (\"message\" in data && data.message != undefined) {\n                this.message = data.message;\n            }\n            if (\"details\" in data && data.details != undefined) {\n                this.details = data.details;\n            }\n        }\n    }\n    get code() {\n        return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;\n    }\n    set code(value: number) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get message() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set message(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get details() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_1.Any, 3) as dependency_1.Any[];\n    }\n    set details(value: dependency_1.Any[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 3, value);\n    }\n    static fromObject(data: {\n        code?: number;\n        message?: string;\n        details?: ReturnType<typeof dependency_1.Any.prototype.toObject>[];\n    }): Status {\n        const message = new Status({});\n        if (data.code != null) {\n            message.code = data.code;\n        }\n        if (data.message != null) {\n            message.message = data.message;\n        }\n        if (data.details != null) {\n            message.details = data.details.map(item => dependency_1.Any.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            code?: number;\n            message?: string;\n            details?: ReturnType<typeof dependency_1.Any.prototype.toObject>[];\n        } = {};\n        if (this.code != null) {\n            data.code = this.code;\n        }\n        if (this.message != null) {\n            data.message = this.message;\n        }\n        if (this.details != null) {\n            data.details = this.details.map((item: dependency_1.Any) => 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.code != 0)\n            writer.writeInt32(1, this.code);\n        if (this.message.length)\n            writer.writeString(2, this.message);\n        if (this.details.length)\n            writer.writeRepeatedMessage(3, this.details, (item: dependency_1.Any) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Status {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Status();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.code = reader.readInt32();\n                    break;\n                case 2:\n                    message.message = reader.readString();\n                    break;\n                case 3:\n                    reader.readMessage(message.details, () => pb_1.Message.addToRepeatedWrapperField(message, 3, dependency_1.Any.deserialize(reader), dependency_1.Any));\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): Status {\n        return Status.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/firestore.proto\n * git: https://github.com/thesayyn/protoc-gen-ts */\nimport * as dependency_1 from \"./../../api/annotations\";\nimport * as dependency_2 from \"./../../api/client\";\nimport * as dependency_3 from \"./../../api/field_behavior\";\nimport * as dependency_4 from \"./aggregation_result\";\nimport * as dependency_5 from \"./common\";\nimport * as dependency_6 from \"./document\";\nimport * as dependency_7 from \"./query\";\nimport * as dependency_8 from \"./query_profile\";\nimport * as dependency_9 from \"./write\";\nimport * as dependency_10 from \"./../../protobuf/empty\";\nimport * as dependency_11 from \"./../../protobuf/timestamp\";\nimport * as dependency_12 from \"./../../protobuf/wrappers\";\nimport * as dependency_13 from \"./../../rpc/status\";\nimport * as pb_1 from \"google-protobuf\";\nimport * as grpc_1 from \"@grpc/grpc-js\";\nexport class GetDocumentRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [[3, 5]];\n    constructor(data?: any[] | ({\n        name?: string;\n        mask?: dependency_5.DocumentMask;\n    } & (({\n        transaction?: Uint8Array;\n        read_time?: never;\n    } | {\n        transaction?: never;\n        read_time?: dependency_11.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 (\"mask\" in data && data.mask != undefined) {\n                this.mask = data.mask;\n            }\n            if (\"transaction\" in data && data.transaction != undefined) {\n                this.transaction = data.transaction;\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 mask() {\n        return pb_1.Message.getWrapperField(this, dependency_5.DocumentMask, 2) as dependency_5.DocumentMask;\n    }\n    set mask(value: dependency_5.DocumentMask) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_mask() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 3, new Uint8Array(0)) as Uint8Array;\n    }\n    set transaction(value: Uint8Array) {\n        pb_1.Message.setOneofField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_transaction() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 5) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 5, this.#one_of_decls[0], value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get consistency_selector() {\n        const cases: {\n            [index: number]: \"none\" | \"transaction\" | \"read_time\";\n        } = {\n            0: \"none\",\n            3: \"transaction\",\n            5: \"read_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [3, 5])];\n    }\n    static fromObject(data: {\n        name?: string;\n        mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n        transaction?: Uint8Array;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n    }): GetDocumentRequest {\n        const message = new GetDocumentRequest({});\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.mask != null) {\n            message.mask = dependency_5.DocumentMask.fromObject(data.mask);\n        }\n        if (data.transaction != null) {\n            message.transaction = data.transaction;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n            transaction?: Uint8Array;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.mask != null) {\n            data.mask = this.mask.toObject();\n        }\n        if (this.transaction != null) {\n            data.transaction = this.transaction;\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_mask)\n            writer.writeMessage(2, this.mask, () => this.mask.serialize(writer));\n        if (this.has_transaction)\n            writer.writeBytes(3, this.transaction);\n        if (this.has_read_time)\n            writer.writeMessage(5, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): GetDocumentRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new GetDocumentRequest();\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.mask, () => message.mask = dependency_5.DocumentMask.deserialize(reader));\n                    break;\n                case 3:\n                    message.transaction = reader.readBytes();\n                    break;\n                case 5:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.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): GetDocumentRequest {\n        return GetDocumentRequest.deserialize(bytes);\n    }\n}\nexport class ListDocumentsRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [[8, 10]];\n    constructor(data?: any[] | ({\n        parent?: string;\n        collection_id?: string;\n        page_size?: number;\n        page_token?: string;\n        order_by?: string;\n        mask?: dependency_5.DocumentMask;\n        show_missing?: boolean;\n    } & (({\n        transaction?: Uint8Array;\n        read_time?: never;\n    } | {\n        transaction?: never;\n        read_time?: dependency_11.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 (\"parent\" in data && data.parent != undefined) {\n                this.parent = data.parent;\n            }\n            if (\"collection_id\" in data && data.collection_id != undefined) {\n                this.collection_id = data.collection_id;\n            }\n            if (\"page_size\" in data && data.page_size != undefined) {\n                this.page_size = data.page_size;\n            }\n            if (\"page_token\" in data && data.page_token != undefined) {\n                this.page_token = data.page_token;\n            }\n            if (\"order_by\" in data && data.order_by != undefined) {\n                this.order_by = data.order_by;\n            }\n            if (\"mask\" in data && data.mask != undefined) {\n                this.mask = data.mask;\n            }\n            if (\"transaction\" in data && data.transaction != undefined) {\n                this.transaction = data.transaction;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n            if (\"show_missing\" in data && data.show_missing != undefined) {\n                this.show_missing = data.show_missing;\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 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 page_size() {\n        return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;\n    }\n    set page_size(value: number) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get page_token() {\n        return pb_1.Message.getFieldWithDefault(this, 4, \"\") as string;\n    }\n    set page_token(value: string) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get order_by() {\n        return pb_1.Message.getFieldWithDefault(this, 6, \"\") as string;\n    }\n    set order_by(value: string) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    get mask() {\n        return pb_1.Message.getWrapperField(this, dependency_5.DocumentMask, 7) as dependency_5.DocumentMask;\n    }\n    set mask(value: dependency_5.DocumentMask) {\n        pb_1.Message.setWrapperField(this, 7, value);\n    }\n    get has_mask() {\n        return pb_1.Message.getField(this, 7) != null;\n    }\n    get transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 8, new Uint8Array(0)) as Uint8Array;\n    }\n    set transaction(value: Uint8Array) {\n        pb_1.Message.setOneofField(this, 8, this.#one_of_decls[0], value);\n    }\n    get has_transaction() {\n        return pb_1.Message.getField(this, 8) != null;\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 10) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 10, this.#one_of_decls[0], value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 10) != null;\n    }\n    get show_missing() {\n        return pb_1.Message.getFieldWithDefault(this, 12, false) as boolean;\n    }\n    set show_missing(value: boolean) {\n        pb_1.Message.setField(this, 12, value);\n    }\n    get consistency_selector() {\n        const cases: {\n            [index: number]: \"none\" | \"transaction\" | \"read_time\";\n        } = {\n            0: \"none\",\n            8: \"transaction\",\n            10: \"read_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [8, 10])];\n    }\n    static fromObject(data: {\n        parent?: string;\n        collection_id?: string;\n        page_size?: number;\n        page_token?: string;\n        order_by?: string;\n        mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n        transaction?: Uint8Array;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        show_missing?: boolean;\n    }): ListDocumentsRequest {\n        const message = new ListDocumentsRequest({});\n        if (data.parent != null) {\n            message.parent = data.parent;\n        }\n        if (data.collection_id != null) {\n            message.collection_id = data.collection_id;\n        }\n        if (data.page_size != null) {\n            message.page_size = data.page_size;\n        }\n        if (data.page_token != null) {\n            message.page_token = data.page_token;\n        }\n        if (data.order_by != null) {\n            message.order_by = data.order_by;\n        }\n        if (data.mask != null) {\n            message.mask = dependency_5.DocumentMask.fromObject(data.mask);\n        }\n        if (data.transaction != null) {\n            message.transaction = data.transaction;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        if (data.show_missing != null) {\n            message.show_missing = data.show_missing;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            parent?: string;\n            collection_id?: string;\n            page_size?: number;\n            page_token?: string;\n            order_by?: string;\n            mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n            transaction?: Uint8Array;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n            show_missing?: boolean;\n        } = {};\n        if (this.parent != null) {\n            data.parent = this.parent;\n        }\n        if (this.collection_id != null) {\n            data.collection_id = this.collection_id;\n        }\n        if (this.page_size != null) {\n            data.page_size = this.page_size;\n        }\n        if (this.page_token != null) {\n            data.page_token = this.page_token;\n        }\n        if (this.order_by != null) {\n            data.order_by = this.order_by;\n        }\n        if (this.mask != null) {\n            data.mask = this.mask.toObject();\n        }\n        if (this.transaction != null) {\n            data.transaction = this.transaction;\n        }\n        if (this.read_time != null) {\n            data.read_time = this.read_time.toObject();\n        }\n        if (this.show_missing != null) {\n            data.show_missing = this.show_missing;\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.collection_id.length)\n            writer.writeString(2, this.collection_id);\n        if (this.page_size != 0)\n            writer.writeInt32(3, this.page_size);\n        if (this.page_token.length)\n            writer.writeString(4, this.page_token);\n        if (this.order_by.length)\n            writer.writeString(6, this.order_by);\n        if (this.has_mask)\n            writer.writeMessage(7, this.mask, () => this.mask.serialize(writer));\n        if (this.has_transaction)\n            writer.writeBytes(8, this.transaction);\n        if (this.has_read_time)\n            writer.writeMessage(10, this.read_time, () => this.read_time.serialize(writer));\n        if (this.show_missing != false)\n            writer.writeBool(12, this.show_missing);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ListDocumentsRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ListDocumentsRequest();\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                    message.collection_id = reader.readString();\n                    break;\n                case 3:\n                    message.page_size = reader.readInt32();\n                    break;\n                case 4:\n                    message.page_token = reader.readString();\n                    break;\n                case 6:\n                    message.order_by = reader.readString();\n                    break;\n                case 7:\n                    reader.readMessage(message.mask, () => message.mask = dependency_5.DocumentMask.deserialize(reader));\n                    break;\n                case 8:\n                    message.transaction = reader.readBytes();\n                    break;\n                case 10:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.Timestamp.deserialize(reader));\n                    break;\n                case 12:\n                    message.show_missing = 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): ListDocumentsRequest {\n        return ListDocumentsRequest.deserialize(bytes);\n    }\n}\nexport class ListDocumentsResponse extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        documents?: dependency_6.Document[];\n        next_page_token?: string;\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 (\"documents\" in data && data.documents != undefined) {\n                this.documents = data.documents;\n            }\n            if (\"next_page_token\" in data && data.next_page_token != undefined) {\n                this.next_page_token = data.next_page_token;\n            }\n        }\n    }\n    get documents() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_6.Document, 1) as dependency_6.Document[];\n    }\n    set documents(value: dependency_6.Document[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    get next_page_token() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set next_page_token(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        documents?: ReturnType<typeof dependency_6.Document.prototype.toObject>[];\n        next_page_token?: string;\n    }): ListDocumentsResponse {\n        const message = new ListDocumentsResponse({});\n        if (data.documents != null) {\n            message.documents = data.documents.map(item => dependency_6.Document.fromObject(item));\n        }\n        if (data.next_page_token != null) {\n            message.next_page_token = data.next_page_token;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            documents?: ReturnType<typeof dependency_6.Document.prototype.toObject>[];\n            next_page_token?: string;\n        } = {};\n        if (this.documents != null) {\n            data.documents = this.documents.map((item: dependency_6.Document) => item.toObject());\n        }\n        if (this.next_page_token != null) {\n            data.next_page_token = this.next_page_token;\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.documents.length)\n            writer.writeRepeatedMessage(1, this.documents, (item: dependency_6.Document) => item.serialize(writer));\n        if (this.next_page_token.length)\n            writer.writeString(2, this.next_page_token);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ListDocumentsResponse {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ListDocumentsResponse();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.documents, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_6.Document.deserialize(reader), dependency_6.Document));\n                    break;\n                case 2:\n                    message.next_page_token = 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): ListDocumentsResponse {\n        return ListDocumentsResponse.deserialize(bytes);\n    }\n}\nexport class CreateDocumentRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        parent?: string;\n        collection_id?: string;\n        document_id?: string;\n        document?: dependency_6.Document;\n        mask?: dependency_5.DocumentMask;\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 (\"collection_id\" in data && data.collection_id != undefined) {\n                this.collection_id = data.collection_id;\n            }\n            if (\"document_id\" in data && data.document_id != undefined) {\n                this.document_id = data.document_id;\n            }\n            if (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n            if (\"mask\" in data && data.mask != undefined) {\n                this.mask = data.mask;\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 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 document_id() {\n        return pb_1.Message.getFieldWithDefault(this, 3, \"\") as string;\n    }\n    set document_id(value: string) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get document() {\n        return pb_1.Message.getWrapperField(this, dependency_6.Document, 4) as dependency_6.Document;\n    }\n    set document(value: dependency_6.Document) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_document() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get mask() {\n        return pb_1.Message.getWrapperField(this, dependency_5.DocumentMask, 5) as dependency_5.DocumentMask;\n    }\n    set mask(value: dependency_5.DocumentMask) {\n        pb_1.Message.setWrapperField(this, 5, value);\n    }\n    get has_mask() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    static fromObject(data: {\n        parent?: string;\n        collection_id?: string;\n        document_id?: string;\n        document?: ReturnType<typeof dependency_6.Document.prototype.toObject>;\n        mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n    }): CreateDocumentRequest {\n        const message = new CreateDocumentRequest({});\n        if (data.parent != null) {\n            message.parent = data.parent;\n        }\n        if (data.collection_id != null) {\n            message.collection_id = data.collection_id;\n        }\n        if (data.document_id != null) {\n            message.document_id = data.document_id;\n        }\n        if (data.document != null) {\n            message.document = dependency_6.Document.fromObject(data.document);\n        }\n        if (data.mask != null) {\n            message.mask = dependency_5.DocumentMask.fromObject(data.mask);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            parent?: string;\n            collection_id?: string;\n            document_id?: string;\n            document?: ReturnType<typeof dependency_6.Document.prototype.toObject>;\n            mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n        } = {};\n        if (this.parent != null) {\n            data.parent = this.parent;\n        }\n        if (this.collection_id != null) {\n            data.collection_id = this.collection_id;\n        }\n        if (this.document_id != null) {\n            data.document_id = this.document_id;\n        }\n        if (this.document != null) {\n            data.document = this.document.toObject();\n        }\n        if (this.mask != null) {\n            data.mask = this.mask.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.parent.length)\n            writer.writeString(1, this.parent);\n        if (this.collection_id.length)\n            writer.writeString(2, this.collection_id);\n        if (this.document_id.length)\n            writer.writeString(3, this.document_id);\n        if (this.has_document)\n            writer.writeMessage(4, this.document, () => this.document.serialize(writer));\n        if (this.has_mask)\n            writer.writeMessage(5, this.mask, () => this.mask.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CreateDocumentRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CreateDocumentRequest();\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                    message.collection_id = reader.readString();\n                    break;\n                case 3:\n                    message.document_id = reader.readString();\n                    break;\n                case 4:\n                    reader.readMessage(message.document, () => message.document = dependency_6.Document.deserialize(reader));\n                    break;\n                case 5:\n                    reader.readMessage(message.mask, () => message.mask = dependency_5.DocumentMask.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): CreateDocumentRequest {\n        return CreateDocumentRequest.deserialize(bytes);\n    }\n}\nexport class UpdateDocumentRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        document?: dependency_6.Document;\n        update_mask?: dependency_5.DocumentMask;\n        mask?: dependency_5.DocumentMask;\n        current_document?: dependency_5.Precondition;\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 (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n            if (\"update_mask\" in data && data.update_mask != undefined) {\n                this.update_mask = data.update_mask;\n            }\n            if (\"mask\" in data && data.mask != undefined) {\n                this.mask = data.mask;\n            }\n            if (\"current_document\" in data && data.current_document != undefined) {\n                this.current_document = data.current_document;\n            }\n        }\n    }\n    get document() {\n        return pb_1.Message.getWrapperField(this, dependency_6.Document, 1) as dependency_6.Document;\n    }\n    set document(value: dependency_6.Document) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_document() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get update_mask() {\n        return pb_1.Message.getWrapperField(this, dependency_5.DocumentMask, 2) as dependency_5.DocumentMask;\n    }\n    set update_mask(value: dependency_5.DocumentMask) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_update_mask() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get mask() {\n        return pb_1.Message.getWrapperField(this, dependency_5.DocumentMask, 3) as dependency_5.DocumentMask;\n    }\n    set mask(value: dependency_5.DocumentMask) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_mask() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get current_document() {\n        return pb_1.Message.getWrapperField(this, dependency_5.Precondition, 4) as dependency_5.Precondition;\n    }\n    set current_document(value: dependency_5.Precondition) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_current_document() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    static fromObject(data: {\n        document?: ReturnType<typeof dependency_6.Document.prototype.toObject>;\n        update_mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n        mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n        current_document?: ReturnType<typeof dependency_5.Precondition.prototype.toObject>;\n    }): UpdateDocumentRequest {\n        const message = new UpdateDocumentRequest({});\n        if (data.document != null) {\n            message.document = dependency_6.Document.fromObject(data.document);\n        }\n        if (data.update_mask != null) {\n            message.update_mask = dependency_5.DocumentMask.fromObject(data.update_mask);\n        }\n        if (data.mask != null) {\n            message.mask = dependency_5.DocumentMask.fromObject(data.mask);\n        }\n        if (data.current_document != null) {\n            message.current_document = dependency_5.Precondition.fromObject(data.current_document);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            document?: ReturnType<typeof dependency_6.Document.prototype.toObject>;\n            update_mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n            mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n            current_document?: ReturnType<typeof dependency_5.Precondition.prototype.toObject>;\n        } = {};\n        if (this.document != null) {\n            data.document = this.document.toObject();\n        }\n        if (this.update_mask != null) {\n            data.update_mask = this.update_mask.toObject();\n        }\n        if (this.mask != null) {\n            data.mask = this.mask.toObject();\n        }\n        if (this.current_document != null) {\n            data.current_document = this.current_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_document)\n            writer.writeMessage(1, this.document, () => this.document.serialize(writer));\n        if (this.has_update_mask)\n            writer.writeMessage(2, this.update_mask, () => this.update_mask.serialize(writer));\n        if (this.has_mask)\n            writer.writeMessage(3, this.mask, () => this.mask.serialize(writer));\n        if (this.has_current_document)\n            writer.writeMessage(4, this.current_document, () => this.current_document.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): UpdateDocumentRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new UpdateDocumentRequest();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.document, () => message.document = dependency_6.Document.deserialize(reader));\n                    break;\n                case 2:\n                    reader.readMessage(message.update_mask, () => message.update_mask = dependency_5.DocumentMask.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.mask, () => message.mask = dependency_5.DocumentMask.deserialize(reader));\n                    break;\n                case 4:\n                    reader.readMessage(message.current_document, () => message.current_document = dependency_5.Precondition.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): UpdateDocumentRequest {\n        return UpdateDocumentRequest.deserialize(bytes);\n    }\n}\nexport class DeleteDocumentRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        name?: string;\n        current_document?: dependency_5.Precondition;\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 (\"current_document\" in data && data.current_document != undefined) {\n                this.current_document = data.current_document;\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 current_document() {\n        return pb_1.Message.getWrapperField(this, dependency_5.Precondition, 2) as dependency_5.Precondition;\n    }\n    set current_document(value: dependency_5.Precondition) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_current_document() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    static fromObject(data: {\n        name?: string;\n        current_document?: ReturnType<typeof dependency_5.Precondition.prototype.toObject>;\n    }): DeleteDocumentRequest {\n        const message = new DeleteDocumentRequest({});\n        if (data.name != null) {\n            message.name = data.name;\n        }\n        if (data.current_document != null) {\n            message.current_document = dependency_5.Precondition.fromObject(data.current_document);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            name?: string;\n            current_document?: ReturnType<typeof dependency_5.Precondition.prototype.toObject>;\n        } = {};\n        if (this.name != null) {\n            data.name = this.name;\n        }\n        if (this.current_document != null) {\n            data.current_document = this.current_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.name.length)\n            writer.writeString(1, this.name);\n        if (this.has_current_document)\n            writer.writeMessage(2, this.current_document, () => this.current_document.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): DeleteDocumentRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new DeleteDocumentRequest();\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.current_document, () => message.current_document = dependency_5.Precondition.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): DeleteDocumentRequest {\n        return DeleteDocumentRequest.deserialize(bytes);\n    }\n}\nexport class BatchGetDocumentsRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [[4, 5, 7]];\n    constructor(data?: any[] | ({\n        database?: string;\n        documents?: string[];\n        mask?: dependency_5.DocumentMask;\n    } & (({\n        transaction?: Uint8Array;\n        new_transaction?: never;\n        read_time?: never;\n    } | {\n        transaction?: never;\n        new_transaction?: dependency_5.TransactionOptions;\n        read_time?: never;\n    } | {\n        transaction?: never;\n        new_transaction?: never;\n        read_time?: dependency_11.Timestamp;\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 (\"database\" in data && data.database != undefined) {\n                this.database = data.database;\n            }\n            if (\"documents\" in data && data.documents != undefined) {\n                this.documents = data.documents;\n            }\n            if (\"mask\" in data && data.mask != undefined) {\n                this.mask = data.mask;\n            }\n            if (\"transaction\" in data && data.transaction != undefined) {\n                this.transaction = data.transaction;\n            }\n            if (\"new_transaction\" in data && data.new_transaction != undefined) {\n                this.new_transaction = data.new_transaction;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n        }\n    }\n    get database() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set database(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get documents() {\n        return pb_1.Message.getFieldWithDefault(this, 2, []) as string[];\n    }\n    set documents(value: string[]) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get mask() {\n        return pb_1.Message.getWrapperField(this, dependency_5.DocumentMask, 3) as dependency_5.DocumentMask;\n    }\n    set mask(value: dependency_5.DocumentMask) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_mask() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 4, new Uint8Array(0)) as Uint8Array;\n    }\n    set transaction(value: Uint8Array) {\n        pb_1.Message.setOneofField(this, 4, this.#one_of_decls[0], value);\n    }\n    get has_transaction() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get new_transaction() {\n        return pb_1.Message.getWrapperField(this, dependency_5.TransactionOptions, 5) as dependency_5.TransactionOptions;\n    }\n    set new_transaction(value: dependency_5.TransactionOptions) {\n        pb_1.Message.setOneofWrapperField(this, 5, this.#one_of_decls[0], value);\n    }\n    get has_new_transaction() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 7) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 7, this.#one_of_decls[0], value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 7) != null;\n    }\n    get consistency_selector() {\n        const cases: {\n            [index: number]: \"none\" | \"transaction\" | \"new_transaction\" | \"read_time\";\n        } = {\n            0: \"none\",\n            4: \"transaction\",\n            5: \"new_transaction\",\n            7: \"read_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [4, 5, 7])];\n    }\n    static fromObject(data: {\n        database?: string;\n        documents?: string[];\n        mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n        transaction?: Uint8Array;\n        new_transaction?: ReturnType<typeof dependency_5.TransactionOptions.prototype.toObject>;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n    }): BatchGetDocumentsRequest {\n        const message = new BatchGetDocumentsRequest({});\n        if (data.database != null) {\n            message.database = data.database;\n        }\n        if (data.documents != null) {\n            message.documents = data.documents;\n        }\n        if (data.mask != null) {\n            message.mask = dependency_5.DocumentMask.fromObject(data.mask);\n        }\n        if (data.transaction != null) {\n            message.transaction = data.transaction;\n        }\n        if (data.new_transaction != null) {\n            message.new_transaction = dependency_5.TransactionOptions.fromObject(data.new_transaction);\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            database?: string;\n            documents?: string[];\n            mask?: ReturnType<typeof dependency_5.DocumentMask.prototype.toObject>;\n            transaction?: Uint8Array;\n            new_transaction?: ReturnType<typeof dependency_5.TransactionOptions.prototype.toObject>;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.database != null) {\n            data.database = this.database;\n        }\n        if (this.documents != null) {\n            data.documents = this.documents;\n        }\n        if (this.mask != null) {\n            data.mask = this.mask.toObject();\n        }\n        if (this.transaction != null) {\n            data.transaction = this.transaction;\n        }\n        if (this.new_transaction != null) {\n            data.new_transaction = this.new_transaction.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.database.length)\n            writer.writeString(1, this.database);\n        if (this.documents.length)\n            writer.writeRepeatedString(2, this.documents);\n        if (this.has_mask)\n            writer.writeMessage(3, this.mask, () => this.mask.serialize(writer));\n        if (this.has_transaction)\n            writer.writeBytes(4, this.transaction);\n        if (this.has_new_transaction)\n            writer.writeMessage(5, this.new_transaction, () => this.new_transaction.serialize(writer));\n        if (this.has_read_time)\n            writer.writeMessage(7, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BatchGetDocumentsRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BatchGetDocumentsRequest();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.database = reader.readString();\n                    break;\n                case 2:\n                    pb_1.Message.addToRepeatedField(message, 2, reader.readString());\n                    break;\n                case 3:\n                    reader.readMessage(message.mask, () => message.mask = dependency_5.DocumentMask.deserialize(reader));\n                    break;\n                case 4:\n                    message.transaction = reader.readBytes();\n                    break;\n                case 5:\n                    reader.readMessage(message.new_transaction, () => message.new_transaction = dependency_5.TransactionOptions.deserialize(reader));\n                    break;\n                case 7:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.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): BatchGetDocumentsRequest {\n        return BatchGetDocumentsRequest.deserialize(bytes);\n    }\n}\nexport class BatchGetDocumentsResponse extends pb_1.Message {\n    #one_of_decls: number[][] = [[1, 2]];\n    constructor(data?: any[] | ({\n        transaction?: Uint8Array;\n        read_time?: dependency_11.Timestamp;\n    } & (({\n        found?: dependency_6.Document;\n        missing?: never;\n    } | {\n        found?: never;\n        missing?: 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 (\"found\" in data && data.found != undefined) {\n                this.found = data.found;\n            }\n            if (\"missing\" in data && data.missing != undefined) {\n                this.missing = data.missing;\n            }\n            if (\"transaction\" in data && data.transaction != undefined) {\n                this.transaction = data.transaction;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n        }\n    }\n    get found() {\n        return pb_1.Message.getWrapperField(this, dependency_6.Document, 1) as dependency_6.Document;\n    }\n    set found(value: dependency_6.Document) {\n        pb_1.Message.setOneofWrapperField(this, 1, this.#one_of_decls[0], value);\n    }\n    get has_found() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get missing() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set missing(value: string) {\n        pb_1.Message.setOneofField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_missing() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 3, new Uint8Array(0)) as Uint8Array;\n    }\n    set transaction(value: Uint8Array) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 4) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get result() {\n        const cases: {\n            [index: number]: \"none\" | \"found\" | \"missing\";\n        } = {\n            0: \"none\",\n            1: \"found\",\n            2: \"missing\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [1, 2])];\n    }\n    static fromObject(data: {\n        found?: ReturnType<typeof dependency_6.Document.prototype.toObject>;\n        missing?: string;\n        transaction?: Uint8Array;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n    }): BatchGetDocumentsResponse {\n        const message = new BatchGetDocumentsResponse({});\n        if (data.found != null) {\n            message.found = dependency_6.Document.fromObject(data.found);\n        }\n        if (data.missing != null) {\n            message.missing = data.missing;\n        }\n        if (data.transaction != null) {\n            message.transaction = data.transaction;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            found?: ReturnType<typeof dependency_6.Document.prototype.toObject>;\n            missing?: string;\n            transaction?: Uint8Array;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.found != null) {\n            data.found = this.found.toObject();\n        }\n        if (this.missing != null) {\n            data.missing = this.missing;\n        }\n        if (this.transaction != null) {\n            data.transaction = this.transaction;\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.has_found)\n            writer.writeMessage(1, this.found, () => this.found.serialize(writer));\n        if (this.has_missing)\n            writer.writeString(2, this.missing);\n        if (this.transaction.length)\n            writer.writeBytes(3, this.transaction);\n        if (this.has_read_time)\n            writer.writeMessage(4, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BatchGetDocumentsResponse {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BatchGetDocumentsResponse();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.found, () => message.found = dependency_6.Document.deserialize(reader));\n                    break;\n                case 2:\n                    message.missing = reader.readString();\n                    break;\n                case 3:\n                    message.transaction = reader.readBytes();\n                    break;\n                case 4:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.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): BatchGetDocumentsResponse {\n        return BatchGetDocumentsResponse.deserialize(bytes);\n    }\n}\nexport class BeginTransactionRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        database?: string;\n        options?: dependency_5.TransactionOptions;\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 (\"database\" in data && data.database != undefined) {\n                this.database = data.database;\n            }\n            if (\"options\" in data && data.options != undefined) {\n                this.options = data.options;\n            }\n        }\n    }\n    get database() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set database(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get options() {\n        return pb_1.Message.getWrapperField(this, dependency_5.TransactionOptions, 2) as dependency_5.TransactionOptions;\n    }\n    set options(value: dependency_5.TransactionOptions) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_options() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    static fromObject(data: {\n        database?: string;\n        options?: ReturnType<typeof dependency_5.TransactionOptions.prototype.toObject>;\n    }): BeginTransactionRequest {\n        const message = new BeginTransactionRequest({});\n        if (data.database != null) {\n            message.database = data.database;\n        }\n        if (data.options != null) {\n            message.options = dependency_5.TransactionOptions.fromObject(data.options);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            database?: string;\n            options?: ReturnType<typeof dependency_5.TransactionOptions.prototype.toObject>;\n        } = {};\n        if (this.database != null) {\n            data.database = this.database;\n        }\n        if (this.options != null) {\n            data.options = this.options.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.database.length)\n            writer.writeString(1, this.database);\n        if (this.has_options)\n            writer.writeMessage(2, this.options, () => this.options.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BeginTransactionRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BeginTransactionRequest();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.database = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.options, () => message.options = dependency_5.TransactionOptions.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): BeginTransactionRequest {\n        return BeginTransactionRequest.deserialize(bytes);\n    }\n}\nexport class BeginTransactionResponse extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        transaction?: 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 (\"transaction\" in data && data.transaction != undefined) {\n                this.transaction = data.transaction;\n            }\n        }\n    }\n    get transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 1, new Uint8Array(0)) as Uint8Array;\n    }\n    set transaction(value: Uint8Array) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    static fromObject(data: {\n        transaction?: Uint8Array;\n    }): BeginTransactionResponse {\n        const message = new BeginTransactionResponse({});\n        if (data.transaction != null) {\n            message.transaction = data.transaction;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            transaction?: Uint8Array;\n        } = {};\n        if (this.transaction != null) {\n            data.transaction = this.transaction;\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.transaction.length)\n            writer.writeBytes(1, this.transaction);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BeginTransactionResponse {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BeginTransactionResponse();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.transaction = 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): BeginTransactionResponse {\n        return BeginTransactionResponse.deserialize(bytes);\n    }\n}\nexport class CommitRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        database?: string;\n        writes?: dependency_9.Write[];\n        transaction?: Uint8Array;\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 (\"database\" in data && data.database != undefined) {\n                this.database = data.database;\n            }\n            if (\"writes\" in data && data.writes != undefined) {\n                this.writes = data.writes;\n            }\n            if (\"transaction\" in data && data.transaction != undefined) {\n                this.transaction = data.transaction;\n            }\n        }\n    }\n    get database() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set database(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get writes() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_9.Write, 2) as dependency_9.Write[];\n    }\n    set writes(value: dependency_9.Write[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    get transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 3, new Uint8Array(0)) as Uint8Array;\n    }\n    set transaction(value: Uint8Array) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    static fromObject(data: {\n        database?: string;\n        writes?: ReturnType<typeof dependency_9.Write.prototype.toObject>[];\n        transaction?: Uint8Array;\n    }): CommitRequest {\n        const message = new CommitRequest({});\n        if (data.database != null) {\n            message.database = data.database;\n        }\n        if (data.writes != null) {\n            message.writes = data.writes.map(item => dependency_9.Write.fromObject(item));\n        }\n        if (data.transaction != null) {\n            message.transaction = data.transaction;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            database?: string;\n            writes?: ReturnType<typeof dependency_9.Write.prototype.toObject>[];\n            transaction?: Uint8Array;\n        } = {};\n        if (this.database != null) {\n            data.database = this.database;\n        }\n        if (this.writes != null) {\n            data.writes = this.writes.map((item: dependency_9.Write) => item.toObject());\n        }\n        if (this.transaction != null) {\n            data.transaction = this.transaction;\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.database.length)\n            writer.writeString(1, this.database);\n        if (this.writes.length)\n            writer.writeRepeatedMessage(2, this.writes, (item: dependency_9.Write) => item.serialize(writer));\n        if (this.transaction.length)\n            writer.writeBytes(3, this.transaction);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CommitRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CommitRequest();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.database = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.writes, () => pb_1.Message.addToRepeatedWrapperField(message, 2, dependency_9.Write.deserialize(reader), dependency_9.Write));\n                    break;\n                case 3:\n                    message.transaction = 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): CommitRequest {\n        return CommitRequest.deserialize(bytes);\n    }\n}\nexport class CommitResponse extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        write_results?: dependency_9.WriteResult[];\n        commit_time?: dependency_11.Timestamp;\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 (\"write_results\" in data && data.write_results != undefined) {\n                this.write_results = data.write_results;\n            }\n            if (\"commit_time\" in data && data.commit_time != undefined) {\n                this.commit_time = data.commit_time;\n            }\n        }\n    }\n    get write_results() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_9.WriteResult, 1) as dependency_9.WriteResult[];\n    }\n    set write_results(value: dependency_9.WriteResult[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    get commit_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 2) as dependency_11.Timestamp;\n    }\n    set commit_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setWrapperField(this, 2, value);\n    }\n    get has_commit_time() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    static fromObject(data: {\n        write_results?: ReturnType<typeof dependency_9.WriteResult.prototype.toObject>[];\n        commit_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n    }): CommitResponse {\n        const message = new CommitResponse({});\n        if (data.write_results != null) {\n            message.write_results = data.write_results.map(item => dependency_9.WriteResult.fromObject(item));\n        }\n        if (data.commit_time != null) {\n            message.commit_time = dependency_11.Timestamp.fromObject(data.commit_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            write_results?: ReturnType<typeof dependency_9.WriteResult.prototype.toObject>[];\n            commit_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.write_results != null) {\n            data.write_results = this.write_results.map((item: dependency_9.WriteResult) => item.toObject());\n        }\n        if (this.commit_time != null) {\n            data.commit_time = this.commit_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.write_results.length)\n            writer.writeRepeatedMessage(1, this.write_results, (item: dependency_9.WriteResult) => item.serialize(writer));\n        if (this.has_commit_time)\n            writer.writeMessage(2, this.commit_time, () => this.commit_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CommitResponse {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CommitResponse();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.write_results, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_9.WriteResult.deserialize(reader), dependency_9.WriteResult));\n                    break;\n                case 2:\n                    reader.readMessage(message.commit_time, () => message.commit_time = dependency_11.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): CommitResponse {\n        return CommitResponse.deserialize(bytes);\n    }\n}\nexport class RollbackRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        database?: string;\n        transaction?: 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 (\"database\" in data && data.database != undefined) {\n                this.database = data.database;\n            }\n            if (\"transaction\" in data && data.transaction != undefined) {\n                this.transaction = data.transaction;\n            }\n        }\n    }\n    get database() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set database(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;\n    }\n    set transaction(value: Uint8Array) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        database?: string;\n        transaction?: Uint8Array;\n    }): RollbackRequest {\n        const message = new RollbackRequest({});\n        if (data.database != null) {\n            message.database = data.database;\n        }\n        if (data.transaction != null) {\n            message.transaction = data.transaction;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            database?: string;\n            transaction?: Uint8Array;\n        } = {};\n        if (this.database != null) {\n            data.database = this.database;\n        }\n        if (this.transaction != null) {\n            data.transaction = this.transaction;\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.database.length)\n            writer.writeString(1, this.database);\n        if (this.transaction.length)\n            writer.writeBytes(2, this.transaction);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): RollbackRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new RollbackRequest();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.database = reader.readString();\n                    break;\n                case 2:\n                    message.transaction = 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): RollbackRequest {\n        return RollbackRequest.deserialize(bytes);\n    }\n}\nexport class RunQueryRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [[2], [5, 6, 7]];\n    constructor(data?: any[] | ({\n        parent?: string;\n        explain_options?: dependency_8.ExplainOptions;\n    } & (({\n        structured_query?: dependency_7.StructuredQuery;\n    }) | ({\n        transaction?: Uint8Array;\n        new_transaction?: never;\n        read_time?: never;\n    } | {\n        transaction?: never;\n        new_transaction?: dependency_5.TransactionOptions;\n        read_time?: never;\n    } | {\n        transaction?: never;\n        new_transaction?: never;\n        read_time?: dependency_11.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 (\"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 (\"transaction\" in data && data.transaction != undefined) {\n                this.transaction = data.transaction;\n            }\n            if (\"new_transaction\" in data && data.new_transaction != undefined) {\n                this.new_transaction = data.new_transaction;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n            if (\"explain_options\" in data && data.explain_options != undefined) {\n                this.explain_options = data.explain_options;\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_7.StructuredQuery, 2) as dependency_7.StructuredQuery;\n    }\n    set structured_query(value: dependency_7.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 transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 5, new Uint8Array(0)) as Uint8Array;\n    }\n    set transaction(value: Uint8Array) {\n        pb_1.Message.setOneofField(this, 5, this.#one_of_decls[1], value);\n    }\n    get has_transaction() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get new_transaction() {\n        return pb_1.Message.getWrapperField(this, dependency_5.TransactionOptions, 6) as dependency_5.TransactionOptions;\n    }\n    set new_transaction(value: dependency_5.TransactionOptions) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[1], value);\n    }\n    get has_new_transaction() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 7) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 7, this.#one_of_decls[1], value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 7) != null;\n    }\n    get explain_options() {\n        return pb_1.Message.getWrapperField(this, dependency_8.ExplainOptions, 10) as dependency_8.ExplainOptions;\n    }\n    set explain_options(value: dependency_8.ExplainOptions) {\n        pb_1.Message.setWrapperField(this, 10, value);\n    }\n    get has_explain_options() {\n        return pb_1.Message.getField(this, 10) != null;\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    get consistency_selector() {\n        const cases: {\n            [index: number]: \"none\" | \"transaction\" | \"new_transaction\" | \"read_time\";\n        } = {\n            0: \"none\",\n            5: \"transaction\",\n            6: \"new_transaction\",\n            7: \"read_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [5, 6, 7])];\n    }\n    static fromObject(data: {\n        parent?: string;\n        structured_query?: ReturnType<typeof dependency_7.StructuredQuery.prototype.toObject>;\n        transaction?: Uint8Array;\n        new_transaction?: ReturnType<typeof dependency_5.TransactionOptions.prototype.toObject>;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        explain_options?: ReturnType<typeof dependency_8.ExplainOptions.prototype.toObject>;\n    }): RunQueryRequest {\n        const message = new RunQueryRequest({});\n        if (data.parent != null) {\n            message.parent = data.parent;\n        }\n        if (data.structured_query != null) {\n            message.structured_query = dependency_7.StructuredQuery.fromObject(data.structured_query);\n        }\n        if (data.transaction != null) {\n            message.transaction = data.transaction;\n        }\n        if (data.new_transaction != null) {\n            message.new_transaction = dependency_5.TransactionOptions.fromObject(data.new_transaction);\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        if (data.explain_options != null) {\n            message.explain_options = dependency_8.ExplainOptions.fromObject(data.explain_options);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            parent?: string;\n            structured_query?: ReturnType<typeof dependency_7.StructuredQuery.prototype.toObject>;\n            transaction?: Uint8Array;\n            new_transaction?: ReturnType<typeof dependency_5.TransactionOptions.prototype.toObject>;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n            explain_options?: ReturnType<typeof dependency_8.ExplainOptions.prototype.toObject>;\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.transaction != null) {\n            data.transaction = this.transaction;\n        }\n        if (this.new_transaction != null) {\n            data.new_transaction = this.new_transaction.toObject();\n        }\n        if (this.read_time != null) {\n            data.read_time = this.read_time.toObject();\n        }\n        if (this.explain_options != null) {\n            data.explain_options = this.explain_options.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.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.has_transaction)\n            writer.writeBytes(5, this.transaction);\n        if (this.has_new_transaction)\n            writer.writeMessage(6, this.new_transaction, () => this.new_transaction.serialize(writer));\n        if (this.has_read_time)\n            writer.writeMessage(7, this.read_time, () => this.read_time.serialize(writer));\n        if (this.has_explain_options)\n            writer.writeMessage(10, this.explain_options, () => this.explain_options.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): RunQueryRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new RunQueryRequest();\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_7.StructuredQuery.deserialize(reader));\n                    break;\n                case 5:\n                    message.transaction = reader.readBytes();\n                    break;\n                case 6:\n                    reader.readMessage(message.new_transaction, () => message.new_transaction = dependency_5.TransactionOptions.deserialize(reader));\n                    break;\n                case 7:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.Timestamp.deserialize(reader));\n                    break;\n                case 10:\n                    reader.readMessage(message.explain_options, () => message.explain_options = dependency_8.ExplainOptions.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): RunQueryRequest {\n        return RunQueryRequest.deserialize(bytes);\n    }\n}\nexport class RunQueryResponse extends pb_1.Message {\n    #one_of_decls: number[][] = [[6]];\n    constructor(data?: any[] | ({\n        transaction?: Uint8Array;\n        document?: dependency_6.Document;\n        read_time?: dependency_11.Timestamp;\n        skipped_results?: number;\n        explain_metrics?: dependency_8.ExplainMetrics;\n    } & (({\n        done?: 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 (\"transaction\" in data && data.transaction != undefined) {\n                this.transaction = data.transaction;\n            }\n            if (\"document\" in data && data.document != undefined) {\n                this.document = data.document;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n            if (\"skipped_results\" in data && data.skipped_results != undefined) {\n                this.skipped_results = data.skipped_results;\n            }\n            if (\"done\" in data && data.done != undefined) {\n                this.done = data.done;\n            }\n            if (\"explain_metrics\" in data && data.explain_metrics != undefined) {\n                this.explain_metrics = data.explain_metrics;\n            }\n        }\n    }\n    get transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;\n    }\n    set transaction(value: Uint8Array) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get document() {\n        return pb_1.Message.getWrapperField(this, dependency_6.Document, 1) as dependency_6.Document;\n    }\n    set document(value: dependency_6.Document) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_document() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 3) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.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    get skipped_results() {\n        return pb_1.Message.getFieldWithDefault(this, 4, 0) as number;\n    }\n    set skipped_results(value: number) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get done() {\n        return pb_1.Message.getFieldWithDefault(this, 6, false) as boolean;\n    }\n    set done(value: boolean) {\n        pb_1.Message.setOneofField(this, 6, this.#one_of_decls[0], value);\n    }\n    get has_done() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get explain_metrics() {\n        return pb_1.Message.getWrapperField(this, dependency_8.ExplainMetrics, 11) as dependency_8.ExplainMetrics;\n    }\n    set explain_metrics(value: dependency_8.ExplainMetrics) {\n        pb_1.Message.setWrapperField(this, 11, value);\n    }\n    get has_explain_metrics() {\n        return pb_1.Message.getField(this, 11) != null;\n    }\n    get continuation_selector() {\n        const cases: {\n            [index: number]: \"none\" | \"done\";\n        } = {\n            0: \"none\",\n            6: \"done\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [6])];\n    }\n    static fromObject(data: {\n        transaction?: Uint8Array;\n        document?: ReturnType<typeof dependency_6.Document.prototype.toObject>;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        skipped_results?: number;\n        done?: boolean;\n        explain_metrics?: ReturnType<typeof dependency_8.ExplainMetrics.prototype.toObject>;\n    }): RunQueryResponse {\n        const message = new RunQueryResponse({});\n        if (data.transaction != null) {\n            message.transaction = data.transaction;\n        }\n        if (data.document != null) {\n            message.document = dependency_6.Document.fromObject(data.document);\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        if (data.skipped_results != null) {\n            message.skipped_results = data.skipped_results;\n        }\n        if (data.done != null) {\n            message.done = data.done;\n        }\n        if (data.explain_metrics != null) {\n            message.explain_metrics = dependency_8.ExplainMetrics.fromObject(data.explain_metrics);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            transaction?: Uint8Array;\n            document?: ReturnType<typeof dependency_6.Document.prototype.toObject>;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n            skipped_results?: number;\n            done?: boolean;\n            explain_metrics?: ReturnType<typeof dependency_8.ExplainMetrics.prototype.toObject>;\n        } = {};\n        if (this.transaction != null) {\n            data.transaction = this.transaction;\n        }\n        if (this.document != null) {\n            data.document = this.document.toObject();\n        }\n        if (this.read_time != null) {\n            data.read_time = this.read_time.toObject();\n        }\n        if (this.skipped_results != null) {\n            data.skipped_results = this.skipped_results;\n        }\n        if (this.done != null) {\n            data.done = this.done;\n        }\n        if (this.explain_metrics != null) {\n            data.explain_metrics = this.explain_metrics.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.transaction.length)\n            writer.writeBytes(2, this.transaction);\n        if (this.has_document)\n            writer.writeMessage(1, this.document, () => this.document.serialize(writer));\n        if (this.has_read_time)\n            writer.writeMessage(3, this.read_time, () => this.read_time.serialize(writer));\n        if (this.skipped_results != 0)\n            writer.writeInt32(4, this.skipped_results);\n        if (this.has_done)\n            writer.writeBool(6, this.done);\n        if (this.has_explain_metrics)\n            writer.writeMessage(11, this.explain_metrics, () => this.explain_metrics.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): RunQueryResponse {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new RunQueryResponse();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    message.transaction = reader.readBytes();\n                    break;\n                case 1:\n                    reader.readMessage(message.document, () => message.document = dependency_6.Document.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.Timestamp.deserialize(reader));\n                    break;\n                case 4:\n                    message.skipped_results = reader.readInt32();\n                    break;\n                case 6:\n                    message.done = reader.readBool();\n                    break;\n                case 11:\n                    reader.readMessage(message.explain_metrics, () => message.explain_metrics = dependency_8.ExplainMetrics.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): RunQueryResponse {\n        return RunQueryResponse.deserialize(bytes);\n    }\n}\nexport class RunAggregationQueryRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [[2], [4, 5, 6]];\n    constructor(data?: any[] | ({\n        parent?: string;\n        explain_options?: dependency_8.ExplainOptions;\n    } & (({\n        structured_aggregation_query?: dependency_7.StructuredAggregationQuery;\n    }) | ({\n        transaction?: Uint8Array;\n        new_transaction?: never;\n        read_time?: never;\n    } | {\n        transaction?: never;\n        new_transaction?: dependency_5.TransactionOptions;\n        read_time?: never;\n    } | {\n        transaction?: never;\n        new_transaction?: never;\n        read_time?: dependency_11.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 (\"parent\" in data && data.parent != undefined) {\n                this.parent = data.parent;\n            }\n            if (\"structured_aggregation_query\" in data && data.structured_aggregation_query != undefined) {\n                this.structured_aggregation_query = data.structured_aggregation_query;\n            }\n            if (\"transaction\" in data && data.transaction != undefined) {\n                this.transaction = data.transaction;\n            }\n            if (\"new_transaction\" in data && data.new_transaction != undefined) {\n                this.new_transaction = data.new_transaction;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n            if (\"explain_options\" in data && data.explain_options != undefined) {\n                this.explain_options = data.explain_options;\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_aggregation_query() {\n        return pb_1.Message.getWrapperField(this, dependency_7.StructuredAggregationQuery, 2) as dependency_7.StructuredAggregationQuery;\n    }\n    set structured_aggregation_query(value: dependency_7.StructuredAggregationQuery) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_structured_aggregation_query() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 4, new Uint8Array(0)) as Uint8Array;\n    }\n    set transaction(value: Uint8Array) {\n        pb_1.Message.setOneofField(this, 4, this.#one_of_decls[1], value);\n    }\n    get has_transaction() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get new_transaction() {\n        return pb_1.Message.getWrapperField(this, dependency_5.TransactionOptions, 5) as dependency_5.TransactionOptions;\n    }\n    set new_transaction(value: dependency_5.TransactionOptions) {\n        pb_1.Message.setOneofWrapperField(this, 5, this.#one_of_decls[1], value);\n    }\n    get has_new_transaction() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 6) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[1], value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get explain_options() {\n        return pb_1.Message.getWrapperField(this, dependency_8.ExplainOptions, 8) as dependency_8.ExplainOptions;\n    }\n    set explain_options(value: dependency_8.ExplainOptions) {\n        pb_1.Message.setWrapperField(this, 8, value);\n    }\n    get has_explain_options() {\n        return pb_1.Message.getField(this, 8) != null;\n    }\n    get query_type() {\n        const cases: {\n            [index: number]: \"none\" | \"structured_aggregation_query\";\n        } = {\n            0: \"none\",\n            2: \"structured_aggregation_query\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2])];\n    }\n    get consistency_selector() {\n        const cases: {\n            [index: number]: \"none\" | \"transaction\" | \"new_transaction\" | \"read_time\";\n        } = {\n            0: \"none\",\n            4: \"transaction\",\n            5: \"new_transaction\",\n            6: \"read_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [4, 5, 6])];\n    }\n    static fromObject(data: {\n        parent?: string;\n        structured_aggregation_query?: ReturnType<typeof dependency_7.StructuredAggregationQuery.prototype.toObject>;\n        transaction?: Uint8Array;\n        new_transaction?: ReturnType<typeof dependency_5.TransactionOptions.prototype.toObject>;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        explain_options?: ReturnType<typeof dependency_8.ExplainOptions.prototype.toObject>;\n    }): RunAggregationQueryRequest {\n        const message = new RunAggregationQueryRequest({});\n        if (data.parent != null) {\n            message.parent = data.parent;\n        }\n        if (data.structured_aggregation_query != null) {\n            message.structured_aggregation_query = dependency_7.StructuredAggregationQuery.fromObject(data.structured_aggregation_query);\n        }\n        if (data.transaction != null) {\n            message.transaction = data.transaction;\n        }\n        if (data.new_transaction != null) {\n            message.new_transaction = dependency_5.TransactionOptions.fromObject(data.new_transaction);\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        if (data.explain_options != null) {\n            message.explain_options = dependency_8.ExplainOptions.fromObject(data.explain_options);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            parent?: string;\n            structured_aggregation_query?: ReturnType<typeof dependency_7.StructuredAggregationQuery.prototype.toObject>;\n            transaction?: Uint8Array;\n            new_transaction?: ReturnType<typeof dependency_5.TransactionOptions.prototype.toObject>;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n            explain_options?: ReturnType<typeof dependency_8.ExplainOptions.prototype.toObject>;\n        } = {};\n        if (this.parent != null) {\n            data.parent = this.parent;\n        }\n        if (this.structured_aggregation_query != null) {\n            data.structured_aggregation_query = this.structured_aggregation_query.toObject();\n        }\n        if (this.transaction != null) {\n            data.transaction = this.transaction;\n        }\n        if (this.new_transaction != null) {\n            data.new_transaction = this.new_transaction.toObject();\n        }\n        if (this.read_time != null) {\n            data.read_time = this.read_time.toObject();\n        }\n        if (this.explain_options != null) {\n            data.explain_options = this.explain_options.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.parent.length)\n            writer.writeString(1, this.parent);\n        if (this.has_structured_aggregation_query)\n            writer.writeMessage(2, this.structured_aggregation_query, () => this.structured_aggregation_query.serialize(writer));\n        if (this.has_transaction)\n            writer.writeBytes(4, this.transaction);\n        if (this.has_new_transaction)\n            writer.writeMessage(5, this.new_transaction, () => this.new_transaction.serialize(writer));\n        if (this.has_read_time)\n            writer.writeMessage(6, this.read_time, () => this.read_time.serialize(writer));\n        if (this.has_explain_options)\n            writer.writeMessage(8, this.explain_options, () => this.explain_options.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): RunAggregationQueryRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new RunAggregationQueryRequest();\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_aggregation_query, () => message.structured_aggregation_query = dependency_7.StructuredAggregationQuery.deserialize(reader));\n                    break;\n                case 4:\n                    message.transaction = reader.readBytes();\n                    break;\n                case 5:\n                    reader.readMessage(message.new_transaction, () => message.new_transaction = dependency_5.TransactionOptions.deserialize(reader));\n                    break;\n                case 6:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.Timestamp.deserialize(reader));\n                    break;\n                case 8:\n                    reader.readMessage(message.explain_options, () => message.explain_options = dependency_8.ExplainOptions.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): RunAggregationQueryRequest {\n        return RunAggregationQueryRequest.deserialize(bytes);\n    }\n}\nexport class RunAggregationQueryResponse extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        result?: dependency_4.AggregationResult;\n        transaction?: Uint8Array;\n        read_time?: dependency_11.Timestamp;\n        explain_metrics?: dependency_8.ExplainMetrics;\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 (\"result\" in data && data.result != undefined) {\n                this.result = data.result;\n            }\n            if (\"transaction\" in data && data.transaction != undefined) {\n                this.transaction = data.transaction;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n            if (\"explain_metrics\" in data && data.explain_metrics != undefined) {\n                this.explain_metrics = data.explain_metrics;\n            }\n        }\n    }\n    get result() {\n        return pb_1.Message.getWrapperField(this, dependency_4.AggregationResult, 1) as dependency_4.AggregationResult;\n    }\n    set result(value: dependency_4.AggregationResult) {\n        pb_1.Message.setWrapperField(this, 1, value);\n    }\n    get has_result() {\n        return pb_1.Message.getField(this, 1) != null;\n    }\n    get transaction() {\n        return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;\n    }\n    set transaction(value: Uint8Array) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 3) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.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    get explain_metrics() {\n        return pb_1.Message.getWrapperField(this, dependency_8.ExplainMetrics, 10) as dependency_8.ExplainMetrics;\n    }\n    set explain_metrics(value: dependency_8.ExplainMetrics) {\n        pb_1.Message.setWrapperField(this, 10, value);\n    }\n    get has_explain_metrics() {\n        return pb_1.Message.getField(this, 10) != null;\n    }\n    static fromObject(data: {\n        result?: ReturnType<typeof dependency_4.AggregationResult.prototype.toObject>;\n        transaction?: Uint8Array;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        explain_metrics?: ReturnType<typeof dependency_8.ExplainMetrics.prototype.toObject>;\n    }): RunAggregationQueryResponse {\n        const message = new RunAggregationQueryResponse({});\n        if (data.result != null) {\n            message.result = dependency_4.AggregationResult.fromObject(data.result);\n        }\n        if (data.transaction != null) {\n            message.transaction = data.transaction;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        if (data.explain_metrics != null) {\n            message.explain_metrics = dependency_8.ExplainMetrics.fromObject(data.explain_metrics);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            result?: ReturnType<typeof dependency_4.AggregationResult.prototype.toObject>;\n            transaction?: Uint8Array;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n            explain_metrics?: ReturnType<typeof dependency_8.ExplainMetrics.prototype.toObject>;\n        } = {};\n        if (this.result != null) {\n            data.result = this.result.toObject();\n        }\n        if (this.transaction != null) {\n            data.transaction = this.transaction;\n        }\n        if (this.read_time != null) {\n            data.read_time = this.read_time.toObject();\n        }\n        if (this.explain_metrics != null) {\n            data.explain_metrics = this.explain_metrics.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_result)\n            writer.writeMessage(1, this.result, () => this.result.serialize(writer));\n        if (this.transaction.length)\n            writer.writeBytes(2, this.transaction);\n        if (this.has_read_time)\n            writer.writeMessage(3, this.read_time, () => this.read_time.serialize(writer));\n        if (this.has_explain_metrics)\n            writer.writeMessage(10, this.explain_metrics, () => this.explain_metrics.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): RunAggregationQueryResponse {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new RunAggregationQueryResponse();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.result, () => message.result = dependency_4.AggregationResult.deserialize(reader));\n                    break;\n                case 2:\n                    message.transaction = reader.readBytes();\n                    break;\n                case 3:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.Timestamp.deserialize(reader));\n                    break;\n                case 10:\n                    reader.readMessage(message.explain_metrics, () => message.explain_metrics = dependency_8.ExplainMetrics.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): RunAggregationQueryResponse {\n        return RunAggregationQueryResponse.deserialize(bytes);\n    }\n}\nexport class PartitionQueryRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [[2], [6]];\n    constructor(data?: any[] | ({\n        parent?: string;\n        partition_count?: number;\n        page_token?: string;\n        page_size?: number;\n    } & (({\n        structured_query?: dependency_7.StructuredQuery;\n    }) | ({\n        read_time?: dependency_11.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 (\"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 (\"partition_count\" in data && data.partition_count != undefined) {\n                this.partition_count = data.partition_count;\n            }\n            if (\"page_token\" in data && data.page_token != undefined) {\n                this.page_token = data.page_token;\n            }\n            if (\"page_size\" in data && data.page_size != undefined) {\n                this.page_size = data.page_size;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\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_7.StructuredQuery, 2) as dependency_7.StructuredQuery;\n    }\n    set structured_query(value: dependency_7.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 partition_count() {\n        return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;\n    }\n    set partition_count(value: number) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get page_token() {\n        return pb_1.Message.getFieldWithDefault(this, 4, \"\") as string;\n    }\n    set page_token(value: string) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get page_size() {\n        return pb_1.Message.getFieldWithDefault(this, 5, 0) as number;\n    }\n    set page_size(value: number) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 6) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[1], value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 6) != null;\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    get consistency_selector() {\n        const cases: {\n            [index: number]: \"none\" | \"read_time\";\n        } = {\n            0: \"none\",\n            6: \"read_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [6])];\n    }\n    static fromObject(data: {\n        parent?: string;\n        structured_query?: ReturnType<typeof dependency_7.StructuredQuery.prototype.toObject>;\n        partition_count?: number;\n        page_token?: string;\n        page_size?: number;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n    }): PartitionQueryRequest {\n        const message = new PartitionQueryRequest({});\n        if (data.parent != null) {\n            message.parent = data.parent;\n        }\n        if (data.structured_query != null) {\n            message.structured_query = dependency_7.StructuredQuery.fromObject(data.structured_query);\n        }\n        if (data.partition_count != null) {\n            message.partition_count = data.partition_count;\n        }\n        if (data.page_token != null) {\n            message.page_token = data.page_token;\n        }\n        if (data.page_size != null) {\n            message.page_size = data.page_size;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            parent?: string;\n            structured_query?: ReturnType<typeof dependency_7.StructuredQuery.prototype.toObject>;\n            partition_count?: number;\n            page_token?: string;\n            page_size?: number;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\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.partition_count != null) {\n            data.partition_count = this.partition_count;\n        }\n        if (this.page_token != null) {\n            data.page_token = this.page_token;\n        }\n        if (this.page_size != null) {\n            data.page_size = this.page_size;\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.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.partition_count != 0)\n            writer.writeInt64(3, this.partition_count);\n        if (this.page_token.length)\n            writer.writeString(4, this.page_token);\n        if (this.page_size != 0)\n            writer.writeInt32(5, this.page_size);\n        if (this.has_read_time)\n            writer.writeMessage(6, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): PartitionQueryRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new PartitionQueryRequest();\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_7.StructuredQuery.deserialize(reader));\n                    break;\n                case 3:\n                    message.partition_count = reader.readInt64();\n                    break;\n                case 4:\n                    message.page_token = reader.readString();\n                    break;\n                case 5:\n                    message.page_size = reader.readInt32();\n                    break;\n                case 6:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.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): PartitionQueryRequest {\n        return PartitionQueryRequest.deserialize(bytes);\n    }\n}\nexport class PartitionQueryResponse extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        partitions?: dependency_7.Cursor[];\n        next_page_token?: string;\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 (\"partitions\" in data && data.partitions != undefined) {\n                this.partitions = data.partitions;\n            }\n            if (\"next_page_token\" in data && data.next_page_token != undefined) {\n                this.next_page_token = data.next_page_token;\n            }\n        }\n    }\n    get partitions() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_7.Cursor, 1) as dependency_7.Cursor[];\n    }\n    set partitions(value: dependency_7.Cursor[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    get next_page_token() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set next_page_token(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        partitions?: ReturnType<typeof dependency_7.Cursor.prototype.toObject>[];\n        next_page_token?: string;\n    }): PartitionQueryResponse {\n        const message = new PartitionQueryResponse({});\n        if (data.partitions != null) {\n            message.partitions = data.partitions.map(item => dependency_7.Cursor.fromObject(item));\n        }\n        if (data.next_page_token != null) {\n            message.next_page_token = data.next_page_token;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            partitions?: ReturnType<typeof dependency_7.Cursor.prototype.toObject>[];\n            next_page_token?: string;\n        } = {};\n        if (this.partitions != null) {\n            data.partitions = this.partitions.map((item: dependency_7.Cursor) => item.toObject());\n        }\n        if (this.next_page_token != null) {\n            data.next_page_token = this.next_page_token;\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.partitions.length)\n            writer.writeRepeatedMessage(1, this.partitions, (item: dependency_7.Cursor) => item.serialize(writer));\n        if (this.next_page_token.length)\n            writer.writeString(2, this.next_page_token);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): PartitionQueryResponse {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new PartitionQueryResponse();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.partitions, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_7.Cursor.deserialize(reader), dependency_7.Cursor));\n                    break;\n                case 2:\n                    message.next_page_token = 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): PartitionQueryResponse {\n        return PartitionQueryResponse.deserialize(bytes);\n    }\n}\nexport class WriteRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        database?: string;\n        stream_id?: string;\n        writes?: dependency_9.Write[];\n        stream_token?: Uint8Array;\n        labels?: Map<string, string>;\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 (\"database\" in data && data.database != undefined) {\n                this.database = data.database;\n            }\n            if (\"stream_id\" in data && data.stream_id != undefined) {\n                this.stream_id = data.stream_id;\n            }\n            if (\"writes\" in data && data.writes != undefined) {\n                this.writes = data.writes;\n            }\n            if (\"stream_token\" in data && data.stream_token != undefined) {\n                this.stream_token = data.stream_token;\n            }\n            if (\"labels\" in data && data.labels != undefined) {\n                this.labels = data.labels;\n            }\n        }\n        if (!this.labels)\n            this.labels = new Map();\n    }\n    get database() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set database(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get stream_id() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set stream_id(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get writes() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_9.Write, 3) as dependency_9.Write[];\n    }\n    set writes(value: dependency_9.Write[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 3, value);\n    }\n    get stream_token() {\n        return pb_1.Message.getFieldWithDefault(this, 4, new Uint8Array(0)) as Uint8Array;\n    }\n    set stream_token(value: Uint8Array) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get labels() {\n        return pb_1.Message.getField(this, 5) as any as Map<string, string>;\n    }\n    set labels(value: Map<string, string>) {\n        pb_1.Message.setField(this, 5, value as any);\n    }\n    static fromObject(data: {\n        database?: string;\n        stream_id?: string;\n        writes?: ReturnType<typeof dependency_9.Write.prototype.toObject>[];\n        stream_token?: Uint8Array;\n        labels?: {\n            [key: string]: string;\n        };\n    }): WriteRequest {\n        const message = new WriteRequest({});\n        if (data.database != null) {\n            message.database = data.database;\n        }\n        if (data.stream_id != null) {\n            message.stream_id = data.stream_id;\n        }\n        if (data.writes != null) {\n            message.writes = data.writes.map(item => dependency_9.Write.fromObject(item));\n        }\n        if (data.stream_token != null) {\n            message.stream_token = data.stream_token;\n        }\n        if (typeof data.labels == \"object\") {\n            message.labels = new Map(Object.entries(data.labels));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            database?: string;\n            stream_id?: string;\n            writes?: ReturnType<typeof dependency_9.Write.prototype.toObject>[];\n            stream_token?: Uint8Array;\n            labels?: {\n                [key: string]: string;\n            };\n        } = {};\n        if (this.database != null) {\n            data.database = this.database;\n        }\n        if (this.stream_id != null) {\n            data.stream_id = this.stream_id;\n        }\n        if (this.writes != null) {\n            data.writes = this.writes.map((item: dependency_9.Write) => item.toObject());\n        }\n        if (this.stream_token != null) {\n            data.stream_token = this.stream_token;\n        }\n        if (this.labels != null) {\n            data.labels = (Object.fromEntries)(this.labels);\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.database.length)\n            writer.writeString(1, this.database);\n        if (this.stream_id.length)\n            writer.writeString(2, this.stream_id);\n        if (this.writes.length)\n            writer.writeRepeatedMessage(3, this.writes, (item: dependency_9.Write) => item.serialize(writer));\n        if (this.stream_token.length)\n            writer.writeBytes(4, this.stream_token);\n        for (const [key, value] of this.labels) {\n            writer.writeMessage(5, this.labels, () => {\n                writer.writeString(1, key);\n                writer.writeString(2, value);\n            });\n        }\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): WriteRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new WriteRequest();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.database = reader.readString();\n                    break;\n                case 2:\n                    message.stream_id = reader.readString();\n                    break;\n                case 3:\n                    reader.readMessage(message.writes, () => pb_1.Message.addToRepeatedWrapperField(message, 3, dependency_9.Write.deserialize(reader), dependency_9.Write));\n                    break;\n                case 4:\n                    message.stream_token = reader.readBytes();\n                    break;\n                case 5:\n                    reader.readMessage(message, () => pb_1.Map.deserializeBinary(message.labels as any, reader, reader.readString, 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): WriteRequest {\n        return WriteRequest.deserialize(bytes);\n    }\n}\nexport class WriteResponse extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        stream_id?: string;\n        stream_token?: Uint8Array;\n        write_results?: dependency_9.WriteResult[];\n        commit_time?: dependency_11.Timestamp;\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 (\"stream_id\" in data && data.stream_id != undefined) {\n                this.stream_id = data.stream_id;\n            }\n            if (\"stream_token\" in data && data.stream_token != undefined) {\n                this.stream_token = data.stream_token;\n            }\n            if (\"write_results\" in data && data.write_results != undefined) {\n                this.write_results = data.write_results;\n            }\n            if (\"commit_time\" in data && data.commit_time != undefined) {\n                this.commit_time = data.commit_time;\n            }\n        }\n    }\n    get stream_id() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set stream_id(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get stream_token() {\n        return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array;\n    }\n    set stream_token(value: Uint8Array) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get write_results() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_9.WriteResult, 3) as dependency_9.WriteResult[];\n    }\n    set write_results(value: dependency_9.WriteResult[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 3, value);\n    }\n    get commit_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 4) as dependency_11.Timestamp;\n    }\n    set commit_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setWrapperField(this, 4, value);\n    }\n    get has_commit_time() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    static fromObject(data: {\n        stream_id?: string;\n        stream_token?: Uint8Array;\n        write_results?: ReturnType<typeof dependency_9.WriteResult.prototype.toObject>[];\n        commit_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n    }): WriteResponse {\n        const message = new WriteResponse({});\n        if (data.stream_id != null) {\n            message.stream_id = data.stream_id;\n        }\n        if (data.stream_token != null) {\n            message.stream_token = data.stream_token;\n        }\n        if (data.write_results != null) {\n            message.write_results = data.write_results.map(item => dependency_9.WriteResult.fromObject(item));\n        }\n        if (data.commit_time != null) {\n            message.commit_time = dependency_11.Timestamp.fromObject(data.commit_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            stream_id?: string;\n            stream_token?: Uint8Array;\n            write_results?: ReturnType<typeof dependency_9.WriteResult.prototype.toObject>[];\n            commit_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.stream_id != null) {\n            data.stream_id = this.stream_id;\n        }\n        if (this.stream_token != null) {\n            data.stream_token = this.stream_token;\n        }\n        if (this.write_results != null) {\n            data.write_results = this.write_results.map((item: dependency_9.WriteResult) => item.toObject());\n        }\n        if (this.commit_time != null) {\n            data.commit_time = this.commit_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.stream_id.length)\n            writer.writeString(1, this.stream_id);\n        if (this.stream_token.length)\n            writer.writeBytes(2, this.stream_token);\n        if (this.write_results.length)\n            writer.writeRepeatedMessage(3, this.write_results, (item: dependency_9.WriteResult) => item.serialize(writer));\n        if (this.has_commit_time)\n            writer.writeMessage(4, this.commit_time, () => this.commit_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): WriteResponse {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new WriteResponse();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.stream_id = reader.readString();\n                    break;\n                case 2:\n                    message.stream_token = reader.readBytes();\n                    break;\n                case 3:\n                    reader.readMessage(message.write_results, () => pb_1.Message.addToRepeatedWrapperField(message, 3, dependency_9.WriteResult.deserialize(reader), dependency_9.WriteResult));\n                    break;\n                case 4:\n                    reader.readMessage(message.commit_time, () => message.commit_time = dependency_11.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): WriteResponse {\n        return WriteResponse.deserialize(bytes);\n    }\n}\nexport class ListenRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [[2, 3]];\n    constructor(data?: any[] | ({\n        database?: string;\n        labels?: Map<string, string>;\n    } & (({\n        add_target?: Target;\n        remove_target?: never;\n    } | {\n        add_target?: never;\n        remove_target?: 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 (\"database\" in data && data.database != undefined) {\n                this.database = data.database;\n            }\n            if (\"add_target\" in data && data.add_target != undefined) {\n                this.add_target = data.add_target;\n            }\n            if (\"remove_target\" in data && data.remove_target != undefined) {\n                this.remove_target = data.remove_target;\n            }\n            if (\"labels\" in data && data.labels != undefined) {\n                this.labels = data.labels;\n            }\n        }\n        if (!this.labels)\n            this.labels = new Map();\n    }\n    get database() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set database(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get add_target() {\n        return pb_1.Message.getWrapperField(this, Target, 2) as Target;\n    }\n    set add_target(value: Target) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_add_target() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get remove_target() {\n        return pb_1.Message.getFieldWithDefault(this, 3, 0) as number;\n    }\n    set remove_target(value: number) {\n        pb_1.Message.setOneofField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_remove_target() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get labels() {\n        return pb_1.Message.getField(this, 4) as any as Map<string, string>;\n    }\n    set labels(value: Map<string, string>) {\n        pb_1.Message.setField(this, 4, value as any);\n    }\n    get target_change() {\n        const cases: {\n            [index: number]: \"none\" | \"add_target\" | \"remove_target\";\n        } = {\n            0: \"none\",\n            2: \"add_target\",\n            3: \"remove_target\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2, 3])];\n    }\n    static fromObject(data: {\n        database?: string;\n        add_target?: ReturnType<typeof Target.prototype.toObject>;\n        remove_target?: number;\n        labels?: {\n            [key: string]: string;\n        };\n    }): ListenRequest {\n        const message = new ListenRequest({});\n        if (data.database != null) {\n            message.database = data.database;\n        }\n        if (data.add_target != null) {\n            message.add_target = Target.fromObject(data.add_target);\n        }\n        if (data.remove_target != null) {\n            message.remove_target = data.remove_target;\n        }\n        if (typeof data.labels == \"object\") {\n            message.labels = new Map(Object.entries(data.labels));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            database?: string;\n            add_target?: ReturnType<typeof Target.prototype.toObject>;\n            remove_target?: number;\n            labels?: {\n                [key: string]: string;\n            };\n        } = {};\n        if (this.database != null) {\n            data.database = this.database;\n        }\n        if (this.add_target != null) {\n            data.add_target = this.add_target.toObject();\n        }\n        if (this.remove_target != null) {\n            data.remove_target = this.remove_target;\n        }\n        if (this.labels != null) {\n            data.labels = (Object.fromEntries)(this.labels);\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.database.length)\n            writer.writeString(1, this.database);\n        if (this.has_add_target)\n            writer.writeMessage(2, this.add_target, () => this.add_target.serialize(writer));\n        if (this.has_remove_target)\n            writer.writeInt32(3, this.remove_target);\n        for (const [key, value] of this.labels) {\n            writer.writeMessage(4, this.labels, () => {\n                writer.writeString(1, key);\n                writer.writeString(2, value);\n            });\n        }\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ListenRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ListenRequest();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.database = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.add_target, () => message.add_target = Target.deserialize(reader));\n                    break;\n                case 3:\n                    message.remove_target = reader.readInt32();\n                    break;\n                case 4:\n                    reader.readMessage(message, () => pb_1.Map.deserializeBinary(message.labels as any, reader, reader.readString, 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): ListenRequest {\n        return ListenRequest.deserialize(bytes);\n    }\n}\nexport class ListenResponse extends pb_1.Message {\n    #one_of_decls: number[][] = [[2, 3, 4, 6, 5]];\n    constructor(data?: any[] | ({} & (({\n        target_change?: TargetChange;\n        document_change?: never;\n        document_delete?: never;\n        document_remove?: never;\n        filter?: never;\n    } | {\n        target_change?: never;\n        document_change?: dependency_9.DocumentChange;\n        document_delete?: never;\n        document_remove?: never;\n        filter?: never;\n    } | {\n        target_change?: never;\n        document_change?: never;\n        document_delete?: dependency_9.DocumentDelete;\n        document_remove?: never;\n        filter?: never;\n    } | {\n        target_change?: never;\n        document_change?: never;\n        document_delete?: never;\n        document_remove?: dependency_9.DocumentRemove;\n        filter?: never;\n    } | {\n        target_change?: never;\n        document_change?: never;\n        document_delete?: never;\n        document_remove?: never;\n        filter?: dependency_9.ExistenceFilter;\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 (\"target_change\" in data && data.target_change != undefined) {\n                this.target_change = data.target_change;\n            }\n            if (\"document_change\" in data && data.document_change != undefined) {\n                this.document_change = data.document_change;\n            }\n            if (\"document_delete\" in data && data.document_delete != undefined) {\n                this.document_delete = data.document_delete;\n            }\n            if (\"document_remove\" in data && data.document_remove != undefined) {\n                this.document_remove = data.document_remove;\n            }\n            if (\"filter\" in data && data.filter != undefined) {\n                this.filter = data.filter;\n            }\n        }\n    }\n    get target_change() {\n        return pb_1.Message.getWrapperField(this, TargetChange, 2) as TargetChange;\n    }\n    set target_change(value: TargetChange) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_target_change() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get document_change() {\n        return pb_1.Message.getWrapperField(this, dependency_9.DocumentChange, 3) as dependency_9.DocumentChange;\n    }\n    set document_change(value: dependency_9.DocumentChange) {\n        pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_document_change() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get document_delete() {\n        return pb_1.Message.getWrapperField(this, dependency_9.DocumentDelete, 4) as dependency_9.DocumentDelete;\n    }\n    set document_delete(value: dependency_9.DocumentDelete) {\n        pb_1.Message.setOneofWrapperField(this, 4, this.#one_of_decls[0], value);\n    }\n    get has_document_delete() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get document_remove() {\n        return pb_1.Message.getWrapperField(this, dependency_9.DocumentRemove, 6) as dependency_9.DocumentRemove;\n    }\n    set document_remove(value: dependency_9.DocumentRemove) {\n        pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);\n    }\n    get has_document_remove() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    get filter() {\n        return pb_1.Message.getWrapperField(this, dependency_9.ExistenceFilter, 5) as dependency_9.ExistenceFilter;\n    }\n    set filter(value: dependency_9.ExistenceFilter) {\n        pb_1.Message.setOneofWrapperField(this, 5, this.#one_of_decls[0], value);\n    }\n    get has_filter() {\n        return pb_1.Message.getField(this, 5) != null;\n    }\n    get response_type() {\n        const cases: {\n            [index: number]: \"none\" | \"target_change\" | \"document_change\" | \"document_delete\" | \"document_remove\" | \"filter\";\n        } = {\n            0: \"none\",\n            2: \"target_change\",\n            3: \"document_change\",\n            4: \"document_delete\",\n            6: \"document_remove\",\n            5: \"filter\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2, 3, 4, 6, 5])];\n    }\n    static fromObject(data: {\n        target_change?: ReturnType<typeof TargetChange.prototype.toObject>;\n        document_change?: ReturnType<typeof dependency_9.DocumentChange.prototype.toObject>;\n        document_delete?: ReturnType<typeof dependency_9.DocumentDelete.prototype.toObject>;\n        document_remove?: ReturnType<typeof dependency_9.DocumentRemove.prototype.toObject>;\n        filter?: ReturnType<typeof dependency_9.ExistenceFilter.prototype.toObject>;\n    }): ListenResponse {\n        const message = new ListenResponse({});\n        if (data.target_change != null) {\n            message.target_change = TargetChange.fromObject(data.target_change);\n        }\n        if (data.document_change != null) {\n            message.document_change = dependency_9.DocumentChange.fromObject(data.document_change);\n        }\n        if (data.document_delete != null) {\n            message.document_delete = dependency_9.DocumentDelete.fromObject(data.document_delete);\n        }\n        if (data.document_remove != null) {\n            message.document_remove = dependency_9.DocumentRemove.fromObject(data.document_remove);\n        }\n        if (data.filter != null) {\n            message.filter = dependency_9.ExistenceFilter.fromObject(data.filter);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            target_change?: ReturnType<typeof TargetChange.prototype.toObject>;\n            document_change?: ReturnType<typeof dependency_9.DocumentChange.prototype.toObject>;\n            document_delete?: ReturnType<typeof dependency_9.DocumentDelete.prototype.toObject>;\n            document_remove?: ReturnType<typeof dependency_9.DocumentRemove.prototype.toObject>;\n            filter?: ReturnType<typeof dependency_9.ExistenceFilter.prototype.toObject>;\n        } = {};\n        if (this.target_change != null) {\n            data.target_change = this.target_change.toObject();\n        }\n        if (this.document_change != null) {\n            data.document_change = this.document_change.toObject();\n        }\n        if (this.document_delete != null) {\n            data.document_delete = this.document_delete.toObject();\n        }\n        if (this.document_remove != null) {\n            data.document_remove = this.document_remove.toObject();\n        }\n        if (this.filter != null) {\n            data.filter = this.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_target_change)\n            writer.writeMessage(2, this.target_change, () => this.target_change.serialize(writer));\n        if (this.has_document_change)\n            writer.writeMessage(3, this.document_change, () => this.document_change.serialize(writer));\n        if (this.has_document_delete)\n            writer.writeMessage(4, this.document_delete, () => this.document_delete.serialize(writer));\n        if (this.has_document_remove)\n            writer.writeMessage(6, this.document_remove, () => this.document_remove.serialize(writer));\n        if (this.has_filter)\n            writer.writeMessage(5, this.filter, () => this.filter.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ListenResponse {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ListenResponse();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    reader.readMessage(message.target_change, () => message.target_change = TargetChange.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.document_change, () => message.document_change = dependency_9.DocumentChange.deserialize(reader));\n                    break;\n                case 4:\n                    reader.readMessage(message.document_delete, () => message.document_delete = dependency_9.DocumentDelete.deserialize(reader));\n                    break;\n                case 6:\n                    reader.readMessage(message.document_remove, () => message.document_remove = dependency_9.DocumentRemove.deserialize(reader));\n                    break;\n                case 5:\n                    reader.readMessage(message.filter, () => message.filter = dependency_9.ExistenceFilter.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): ListenResponse {\n        return ListenResponse.deserialize(bytes);\n    }\n}\nexport class Target extends pb_1.Message {\n    #one_of_decls: number[][] = [[2, 3], [4, 11]];\n    constructor(data?: any[] | ({\n        target_id?: number;\n        once?: boolean;\n        expected_count?: dependency_12.Int32Value;\n    } & (({\n        query?: TargetQueryTarget;\n        documents?: never;\n    } | {\n        query?: never;\n        documents?: TargetDocumentsTarget;\n    }) | ({\n        resume_token?: Uint8Array;\n        read_time?: never;\n    } | {\n        resume_token?: never;\n        read_time?: dependency_11.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 (\"query\" in data && data.query != undefined) {\n                this.query = data.query;\n            }\n            if (\"documents\" in data && data.documents != undefined) {\n                this.documents = data.documents;\n            }\n            if (\"resume_token\" in data && data.resume_token != undefined) {\n                this.resume_token = data.resume_token;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n            if (\"target_id\" in data && data.target_id != undefined) {\n                this.target_id = data.target_id;\n            }\n            if (\"once\" in data && data.once != undefined) {\n                this.once = data.once;\n            }\n            if (\"expected_count\" in data && data.expected_count != undefined) {\n                this.expected_count = data.expected_count;\n            }\n        }\n    }\n    get query() {\n        return pb_1.Message.getWrapperField(this, TargetQueryTarget, 2) as TargetQueryTarget;\n    }\n    set query(value: TargetQueryTarget) {\n        pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);\n    }\n    get has_query() {\n        return pb_1.Message.getField(this, 2) != null;\n    }\n    get documents() {\n        return pb_1.Message.getWrapperField(this, TargetDocumentsTarget, 3) as TargetDocumentsTarget;\n    }\n    set documents(value: TargetDocumentsTarget) {\n        pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);\n    }\n    get has_documents() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get resume_token() {\n        return pb_1.Message.getFieldWithDefault(this, 4, new Uint8Array(0)) as Uint8Array;\n    }\n    set resume_token(value: Uint8Array) {\n        pb_1.Message.setOneofField(this, 4, this.#one_of_decls[1], value);\n    }\n    get has_resume_token() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 11) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 11, this.#one_of_decls[1], value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 11) != null;\n    }\n    get target_id() {\n        return pb_1.Message.getFieldWithDefault(this, 5, 0) as number;\n    }\n    set target_id(value: number) {\n        pb_1.Message.setField(this, 5, value);\n    }\n    get once() {\n        return pb_1.Message.getFieldWithDefault(this, 6, false) as boolean;\n    }\n    set once(value: boolean) {\n        pb_1.Message.setField(this, 6, value);\n    }\n    get expected_count() {\n        return pb_1.Message.getWrapperField(this, dependency_12.Int32Value, 12) as dependency_12.Int32Value;\n    }\n    set expected_count(value: dependency_12.Int32Value) {\n        pb_1.Message.setWrapperField(this, 12, value);\n    }\n    get has_expected_count() {\n        return pb_1.Message.getField(this, 12) != null;\n    }\n    get target_type() {\n        const cases: {\n            [index: number]: \"none\" | \"query\" | \"documents\";\n        } = {\n            0: \"none\",\n            2: \"query\",\n            3: \"documents\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [2, 3])];\n    }\n    get resume_type() {\n        const cases: {\n            [index: number]: \"none\" | \"resume_token\" | \"read_time\";\n        } = {\n            0: \"none\",\n            4: \"resume_token\",\n            11: \"read_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [4, 11])];\n    }\n    static fromObject(data: {\n        query?: ReturnType<typeof TargetQueryTarget.prototype.toObject>;\n        documents?: ReturnType<typeof TargetDocumentsTarget.prototype.toObject>;\n        resume_token?: Uint8Array;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        target_id?: number;\n        once?: boolean;\n        expected_count?: ReturnType<typeof dependency_12.Int32Value.prototype.toObject>;\n    }): Target {\n        const message = new Target({});\n        if (data.query != null) {\n            message.query = TargetQueryTarget.fromObject(data.query);\n        }\n        if (data.documents != null) {\n            message.documents = TargetDocumentsTarget.fromObject(data.documents);\n        }\n        if (data.resume_token != null) {\n            message.resume_token = data.resume_token;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        if (data.target_id != null) {\n            message.target_id = data.target_id;\n        }\n        if (data.once != null) {\n            message.once = data.once;\n        }\n        if (data.expected_count != null) {\n            message.expected_count = dependency_12.Int32Value.fromObject(data.expected_count);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            query?: ReturnType<typeof TargetQueryTarget.prototype.toObject>;\n            documents?: ReturnType<typeof TargetDocumentsTarget.prototype.toObject>;\n            resume_token?: Uint8Array;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n            target_id?: number;\n            once?: boolean;\n            expected_count?: ReturnType<typeof dependency_12.Int32Value.prototype.toObject>;\n        } = {};\n        if (this.query != null) {\n            data.query = this.query.toObject();\n        }\n        if (this.documents != null) {\n            data.documents = this.documents.toObject();\n        }\n        if (this.resume_token != null) {\n            data.resume_token = this.resume_token;\n        }\n        if (this.read_time != null) {\n            data.read_time = this.read_time.toObject();\n        }\n        if (this.target_id != null) {\n            data.target_id = this.target_id;\n        }\n        if (this.once != null) {\n            data.once = this.once;\n        }\n        if (this.expected_count != null) {\n            data.expected_count = this.expected_count.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_query)\n            writer.writeMessage(2, this.query, () => this.query.serialize(writer));\n        if (this.has_documents)\n            writer.writeMessage(3, this.documents, () => this.documents.serialize(writer));\n        if (this.has_resume_token)\n            writer.writeBytes(4, this.resume_token);\n        if (this.has_read_time)\n            writer.writeMessage(11, this.read_time, () => this.read_time.serialize(writer));\n        if (this.target_id != 0)\n            writer.writeInt32(5, this.target_id);\n        if (this.once != false)\n            writer.writeBool(6, this.once);\n        if (this.has_expected_count)\n            writer.writeMessage(12, this.expected_count, () => this.expected_count.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Target {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Target();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    reader.readMessage(message.query, () => message.query = TargetQueryTarget.deserialize(reader));\n                    break;\n                case 3:\n                    reader.readMessage(message.documents, () => message.documents = TargetDocumentsTarget.deserialize(reader));\n                    break;\n                case 4:\n                    message.resume_token = reader.readBytes();\n                    break;\n                case 11:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.Timestamp.deserialize(reader));\n                    break;\n                case 5:\n                    message.target_id = reader.readInt32();\n                    break;\n                case 6:\n                    message.once = reader.readBool();\n                    break;\n                case 12:\n                    reader.readMessage(message.expected_count, () => message.expected_count = dependency_12.Int32Value.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): Target {\n        return Target.deserialize(bytes);\n    }\n}\nexport class TargetDocumentsTarget extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        documents?: string[];\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 (\"documents\" in data && data.documents != undefined) {\n                this.documents = data.documents;\n            }\n        }\n    }\n    get documents() {\n        return pb_1.Message.getFieldWithDefault(this, 2, []) as string[];\n    }\n    set documents(value: string[]) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        documents?: string[];\n    }): TargetDocumentsTarget {\n        const message = new TargetDocumentsTarget({});\n        if (data.documents != null) {\n            message.documents = data.documents;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            documents?: string[];\n        } = {};\n        if (this.documents != null) {\n            data.documents = this.documents;\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.documents.length)\n            writer.writeRepeatedString(2, this.documents);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): TargetDocumentsTarget {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new TargetDocumentsTarget();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 2:\n                    pb_1.Message.addToRepeatedField(message, 2, 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): TargetDocumentsTarget {\n        return TargetDocumentsTarget.deserialize(bytes);\n    }\n}\nexport class TargetQueryTarget extends pb_1.Message {\n    #one_of_decls: number[][] = [[2]];\n    constructor(data?: any[] | ({\n        parent?: string;\n    } & (({\n        structured_query?: dependency_7.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        }\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_7.StructuredQuery, 2) as dependency_7.StructuredQuery;\n    }\n    set structured_query(value: dependency_7.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 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_7.StructuredQuery.prototype.toObject>;\n    }): TargetQueryTarget {\n        const message = new TargetQueryTarget({});\n        if (data.parent != null) {\n            message.parent = data.parent;\n        }\n        if (data.structured_query != null) {\n            message.structured_query = dependency_7.StructuredQuery.fromObject(data.structured_query);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            parent?: string;\n            structured_query?: ReturnType<typeof dependency_7.StructuredQuery.prototype.toObject>;\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        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 (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): TargetQueryTarget {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new TargetQueryTarget();\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_7.StructuredQuery.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): TargetQueryTarget {\n        return TargetQueryTarget.deserialize(bytes);\n    }\n}\nexport class TargetChange extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        target_change_type?: TargetChangeTargetChangeType;\n        target_ids?: number[];\n        cause?: dependency_13.Status;\n        resume_token?: Uint8Array;\n        read_time?: dependency_11.Timestamp;\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 (\"target_change_type\" in data && data.target_change_type != undefined) {\n                this.target_change_type = data.target_change_type;\n            }\n            if (\"target_ids\" in data && data.target_ids != undefined) {\n                this.target_ids = data.target_ids;\n            }\n            if (\"cause\" in data && data.cause != undefined) {\n                this.cause = data.cause;\n            }\n            if (\"resume_token\" in data && data.resume_token != undefined) {\n                this.resume_token = data.resume_token;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\n            }\n        }\n    }\n    get target_change_type() {\n        return pb_1.Message.getFieldWithDefault(this, 1, TargetChangeTargetChangeType.NO_CHANGE) as TargetChangeTargetChangeType;\n    }\n    set target_change_type(value: TargetChangeTargetChangeType) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get target_ids() {\n        return pb_1.Message.getFieldWithDefault(this, 2, []) as number[];\n    }\n    set target_ids(value: number[]) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get cause() {\n        return pb_1.Message.getWrapperField(this, dependency_13.Status, 3) as dependency_13.Status;\n    }\n    set cause(value: dependency_13.Status) {\n        pb_1.Message.setWrapperField(this, 3, value);\n    }\n    get has_cause() {\n        return pb_1.Message.getField(this, 3) != null;\n    }\n    get resume_token() {\n        return pb_1.Message.getFieldWithDefault(this, 4, new Uint8Array(0)) as Uint8Array;\n    }\n    set resume_token(value: Uint8Array) {\n        pb_1.Message.setField(this, 4, value);\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 6) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setWrapperField(this, 6, value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 6) != null;\n    }\n    static fromObject(data: {\n        target_change_type?: TargetChangeTargetChangeType;\n        target_ids?: number[];\n        cause?: ReturnType<typeof dependency_13.Status.prototype.toObject>;\n        resume_token?: Uint8Array;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n    }): TargetChange {\n        const message = new TargetChange({});\n        if (data.target_change_type != null) {\n            message.target_change_type = data.target_change_type;\n        }\n        if (data.target_ids != null) {\n            message.target_ids = data.target_ids;\n        }\n        if (data.cause != null) {\n            message.cause = dependency_13.Status.fromObject(data.cause);\n        }\n        if (data.resume_token != null) {\n            message.resume_token = data.resume_token;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            target_change_type?: TargetChangeTargetChangeType;\n            target_ids?: number[];\n            cause?: ReturnType<typeof dependency_13.Status.prototype.toObject>;\n            resume_token?: Uint8Array;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.target_change_type != null) {\n            data.target_change_type = this.target_change_type;\n        }\n        if (this.target_ids != null) {\n            data.target_ids = this.target_ids;\n        }\n        if (this.cause != null) {\n            data.cause = this.cause.toObject();\n        }\n        if (this.resume_token != null) {\n            data.resume_token = this.resume_token;\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.target_change_type != TargetChangeTargetChangeType.NO_CHANGE)\n            writer.writeEnum(1, this.target_change_type);\n        if (this.target_ids.length)\n            writer.writePackedInt32(2, this.target_ids);\n        if (this.has_cause)\n            writer.writeMessage(3, this.cause, () => this.cause.serialize(writer));\n        if (this.resume_token.length)\n            writer.writeBytes(4, this.resume_token);\n        if (this.has_read_time)\n            writer.writeMessage(6, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): TargetChange {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new TargetChange();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.target_change_type = reader.readEnum();\n                    break;\n                case 2:\n                    message.target_ids = reader.readPackedInt32();\n                    break;\n                case 3:\n                    reader.readMessage(message.cause, () => message.cause = dependency_13.Status.deserialize(reader));\n                    break;\n                case 4:\n                    message.resume_token = reader.readBytes();\n                    break;\n                case 6:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.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): TargetChange {\n        return TargetChange.deserialize(bytes);\n    }\n}\nexport enum TargetChangeTargetChangeType {\n    NO_CHANGE = 0,\n    ADD = 1,\n    REMOVE = 2,\n    CURRENT = 3,\n    RESET = 4\n}\nexport class ListCollectionIdsRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [[4]];\n    constructor(data?: any[] | ({\n        parent?: string;\n        page_size?: number;\n        page_token?: string;\n    } & (({\n        read_time?: dependency_11.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 (\"parent\" in data && data.parent != undefined) {\n                this.parent = data.parent;\n            }\n            if (\"page_size\" in data && data.page_size != undefined) {\n                this.page_size = data.page_size;\n            }\n            if (\"page_token\" in data && data.page_token != undefined) {\n                this.page_token = data.page_token;\n            }\n            if (\"read_time\" in data && data.read_time != undefined) {\n                this.read_time = data.read_time;\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 page_size() {\n        return pb_1.Message.getFieldWithDefault(this, 2, 0) as number;\n    }\n    set page_size(value: number) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    get page_token() {\n        return pb_1.Message.getFieldWithDefault(this, 3, \"\") as string;\n    }\n    set page_token(value: string) {\n        pb_1.Message.setField(this, 3, value);\n    }\n    get read_time() {\n        return pb_1.Message.getWrapperField(this, dependency_11.Timestamp, 4) as dependency_11.Timestamp;\n    }\n    set read_time(value: dependency_11.Timestamp) {\n        pb_1.Message.setOneofWrapperField(this, 4, this.#one_of_decls[0], value);\n    }\n    get has_read_time() {\n        return pb_1.Message.getField(this, 4) != null;\n    }\n    get consistency_selector() {\n        const cases: {\n            [index: number]: \"none\" | \"read_time\";\n        } = {\n            0: \"none\",\n            4: \"read_time\"\n        };\n        return cases[pb_1.Message.computeOneofCase(this, [4])];\n    }\n    static fromObject(data: {\n        parent?: string;\n        page_size?: number;\n        page_token?: string;\n        read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n    }): ListCollectionIdsRequest {\n        const message = new ListCollectionIdsRequest({});\n        if (data.parent != null) {\n            message.parent = data.parent;\n        }\n        if (data.page_size != null) {\n            message.page_size = data.page_size;\n        }\n        if (data.page_token != null) {\n            message.page_token = data.page_token;\n        }\n        if (data.read_time != null) {\n            message.read_time = dependency_11.Timestamp.fromObject(data.read_time);\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            parent?: string;\n            page_size?: number;\n            page_token?: string;\n            read_time?: ReturnType<typeof dependency_11.Timestamp.prototype.toObject>;\n        } = {};\n        if (this.parent != null) {\n            data.parent = this.parent;\n        }\n        if (this.page_size != null) {\n            data.page_size = this.page_size;\n        }\n        if (this.page_token != null) {\n            data.page_token = this.page_token;\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.parent.length)\n            writer.writeString(1, this.parent);\n        if (this.page_size != 0)\n            writer.writeInt32(2, this.page_size);\n        if (this.page_token.length)\n            writer.writeString(3, this.page_token);\n        if (this.has_read_time)\n            writer.writeMessage(4, this.read_time, () => this.read_time.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ListCollectionIdsRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ListCollectionIdsRequest();\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                    message.page_size = reader.readInt32();\n                    break;\n                case 3:\n                    message.page_token = reader.readString();\n                    break;\n                case 4:\n                    reader.readMessage(message.read_time, () => message.read_time = dependency_11.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): ListCollectionIdsRequest {\n        return ListCollectionIdsRequest.deserialize(bytes);\n    }\n}\nexport class ListCollectionIdsResponse extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        collection_ids?: string[];\n        next_page_token?: string;\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 (\"collection_ids\" in data && data.collection_ids != undefined) {\n                this.collection_ids = data.collection_ids;\n            }\n            if (\"next_page_token\" in data && data.next_page_token != undefined) {\n                this.next_page_token = data.next_page_token;\n            }\n        }\n    }\n    get collection_ids() {\n        return pb_1.Message.getFieldWithDefault(this, 1, []) as string[];\n    }\n    set collection_ids(value: string[]) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get next_page_token() {\n        return pb_1.Message.getFieldWithDefault(this, 2, \"\") as string;\n    }\n    set next_page_token(value: string) {\n        pb_1.Message.setField(this, 2, value);\n    }\n    static fromObject(data: {\n        collection_ids?: string[];\n        next_page_token?: string;\n    }): ListCollectionIdsResponse {\n        const message = new ListCollectionIdsResponse({});\n        if (data.collection_ids != null) {\n            message.collection_ids = data.collection_ids;\n        }\n        if (data.next_page_token != null) {\n            message.next_page_token = data.next_page_token;\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            collection_ids?: string[];\n            next_page_token?: string;\n        } = {};\n        if (this.collection_ids != null) {\n            data.collection_ids = this.collection_ids;\n        }\n        if (this.next_page_token != null) {\n            data.next_page_token = this.next_page_token;\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_ids.length)\n            writer.writeRepeatedString(1, this.collection_ids);\n        if (this.next_page_token.length)\n            writer.writeString(2, this.next_page_token);\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): ListCollectionIdsResponse {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new ListCollectionIdsResponse();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    pb_1.Message.addToRepeatedField(message, 1, reader.readString());\n                    break;\n                case 2:\n                    message.next_page_token = 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): ListCollectionIdsResponse {\n        return ListCollectionIdsResponse.deserialize(bytes);\n    }\n}\nexport class BatchWriteRequest extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        database?: string;\n        writes?: dependency_9.Write[];\n        labels?: Map<string, string>;\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 (\"database\" in data && data.database != undefined) {\n                this.database = data.database;\n            }\n            if (\"writes\" in data && data.writes != undefined) {\n                this.writes = data.writes;\n            }\n            if (\"labels\" in data && data.labels != undefined) {\n                this.labels = data.labels;\n            }\n        }\n        if (!this.labels)\n            this.labels = new Map();\n    }\n    get database() {\n        return pb_1.Message.getFieldWithDefault(this, 1, \"\") as string;\n    }\n    set database(value: string) {\n        pb_1.Message.setField(this, 1, value);\n    }\n    get writes() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_9.Write, 2) as dependency_9.Write[];\n    }\n    set writes(value: dependency_9.Write[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    get labels() {\n        return pb_1.Message.getField(this, 3) as any as Map<string, string>;\n    }\n    set labels(value: Map<string, string>) {\n        pb_1.Message.setField(this, 3, value as any);\n    }\n    static fromObject(data: {\n        database?: string;\n        writes?: ReturnType<typeof dependency_9.Write.prototype.toObject>[];\n        labels?: {\n            [key: string]: string;\n        };\n    }): BatchWriteRequest {\n        const message = new BatchWriteRequest({});\n        if (data.database != null) {\n            message.database = data.database;\n        }\n        if (data.writes != null) {\n            message.writes = data.writes.map(item => dependency_9.Write.fromObject(item));\n        }\n        if (typeof data.labels == \"object\") {\n            message.labels = new Map(Object.entries(data.labels));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            database?: string;\n            writes?: ReturnType<typeof dependency_9.Write.prototype.toObject>[];\n            labels?: {\n                [key: string]: string;\n            };\n        } = {};\n        if (this.database != null) {\n            data.database = this.database;\n        }\n        if (this.writes != null) {\n            data.writes = this.writes.map((item: dependency_9.Write) => item.toObject());\n        }\n        if (this.labels != null) {\n            data.labels = (Object.fromEntries)(this.labels);\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.database.length)\n            writer.writeString(1, this.database);\n        if (this.writes.length)\n            writer.writeRepeatedMessage(2, this.writes, (item: dependency_9.Write) => item.serialize(writer));\n        for (const [key, value] of this.labels) {\n            writer.writeMessage(3, this.labels, () => {\n                writer.writeString(1, key);\n                writer.writeString(2, value);\n            });\n        }\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BatchWriteRequest {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BatchWriteRequest();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    message.database = reader.readString();\n                    break;\n                case 2:\n                    reader.readMessage(message.writes, () => pb_1.Message.addToRepeatedWrapperField(message, 2, dependency_9.Write.deserialize(reader), dependency_9.Write));\n                    break;\n                case 3:\n                    reader.readMessage(message, () => pb_1.Map.deserializeBinary(message.labels as any, reader, reader.readString, 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): BatchWriteRequest {\n        return BatchWriteRequest.deserialize(bytes);\n    }\n}\nexport class BatchWriteResponse extends pb_1.Message {\n    #one_of_decls: number[][] = [];\n    constructor(data?: any[] | {\n        write_results?: dependency_9.WriteResult[];\n        status?: dependency_13.Status[];\n    }) {\n        super();\n        pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1, 2], this.#one_of_decls);\n        if (!Array.isArray(data) && typeof data == \"object\") {\n            if (\"write_results\" in data && data.write_results != undefined) {\n                this.write_results = data.write_results;\n            }\n            if (\"status\" in data && data.status != undefined) {\n                this.status = data.status;\n            }\n        }\n    }\n    get write_results() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_9.WriteResult, 1) as dependency_9.WriteResult[];\n    }\n    set write_results(value: dependency_9.WriteResult[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 1, value);\n    }\n    get status() {\n        return pb_1.Message.getRepeatedWrapperField(this, dependency_13.Status, 2) as dependency_13.Status[];\n    }\n    set status(value: dependency_13.Status[]) {\n        pb_1.Message.setRepeatedWrapperField(this, 2, value);\n    }\n    static fromObject(data: {\n        write_results?: ReturnType<typeof dependency_9.WriteResult.prototype.toObject>[];\n        status?: ReturnType<typeof dependency_13.Status.prototype.toObject>[];\n    }): BatchWriteResponse {\n        const message = new BatchWriteResponse({});\n        if (data.write_results != null) {\n            message.write_results = data.write_results.map(item => dependency_9.WriteResult.fromObject(item));\n        }\n        if (data.status != null) {\n            message.status = data.status.map(item => dependency_13.Status.fromObject(item));\n        }\n        return message;\n    }\n    toObject() {\n        const data: {\n            write_results?: ReturnType<typeof dependency_9.WriteResult.prototype.toObject>[];\n            status?: ReturnType<typeof dependency_13.Status.prototype.toObject>[];\n        } = {};\n        if (this.write_results != null) {\n            data.write_results = this.write_results.map((item: dependency_9.WriteResult) => item.toObject());\n        }\n        if (this.status != null) {\n            data.status = this.status.map((item: dependency_13.Status) => 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.write_results.length)\n            writer.writeRepeatedMessage(1, this.write_results, (item: dependency_9.WriteResult) => item.serialize(writer));\n        if (this.status.length)\n            writer.writeRepeatedMessage(2, this.status, (item: dependency_13.Status) => item.serialize(writer));\n        if (!w)\n            return writer.getResultBuffer();\n    }\n    static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BatchWriteResponse {\n        const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BatchWriteResponse();\n        while (reader.nextField()) {\n            if (reader.isEndGroup())\n                break;\n            switch (reader.getFieldNumber()) {\n                case 1:\n                    reader.readMessage(message.write_results, () => pb_1.Message.addToRepeatedWrapperField(message, 1, dependency_9.WriteResult.deserialize(reader), dependency_9.WriteResult));\n                    break;\n                case 2:\n                    reader.readMessage(message.status, () => pb_1.Message.addToRepeatedWrapperField(message, 2, dependency_13.Status.deserialize(reader), dependency_13.Status));\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): BatchWriteResponse {\n        return BatchWriteResponse.deserialize(bytes);\n    }\n}\ninterface GrpcUnaryServiceInterface<P, R> {\n    (message: P, metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;\n    (message: P, metadata: grpc_1.Metadata, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;\n    (message: P, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;\n    (message: P, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;\n}\ninterface GrpcStreamServiceInterface<P, R> {\n    (message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<R>;\n    (message: P, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<R>;\n}\ninterface GrpWritableServiceInterface<P, R> {\n    (metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;\n    (metadata: grpc_1.Metadata, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;\n    (options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;\n    (callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;\n}\ninterface GrpcChunkServiceInterface<P, R> {\n    (metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<P, R>;\n    (options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<P, R>;\n}\ninterface GrpcPromiseServiceInterface<P, R> {\n    (message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): Promise<R>;\n    (message: P, options?: grpc_1.CallOptions): Promise<R>;\n}\nexport abstract class UnimplementedFirestoreService {\n    static definition = {\n        GetDocument: {\n            path: \"/google.firestore.v1.Firestore/GetDocument\",\n            requestStream: false,\n            responseStream: false,\n            requestSerialize: (message: GetDocumentRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => GetDocumentRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: dependency_6.Document) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => dependency_6.Document.deserialize(new Uint8Array(bytes))\n        },\n        ListDocuments: {\n            path: \"/google.firestore.v1.Firestore/ListDocuments\",\n            requestStream: false,\n            responseStream: false,\n            requestSerialize: (message: ListDocumentsRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => ListDocumentsRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: ListDocumentsResponse) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => ListDocumentsResponse.deserialize(new Uint8Array(bytes))\n        },\n        UpdateDocument: {\n            path: \"/google.firestore.v1.Firestore/UpdateDocument\",\n            requestStream: false,\n            responseStream: false,\n            requestSerialize: (message: UpdateDocumentRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => UpdateDocumentRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: dependency_6.Document) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => dependency_6.Document.deserialize(new Uint8Array(bytes))\n        },\n        DeleteDocument: {\n            path: \"/google.firestore.v1.Firestore/DeleteDocument\",\n            requestStream: false,\n            responseStream: false,\n            requestSerialize: (message: DeleteDocumentRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => DeleteDocumentRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: dependency_10.Empty) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => dependency_10.Empty.deserialize(new Uint8Array(bytes))\n        },\n        BatchGetDocuments: {\n            path: \"/google.firestore.v1.Firestore/BatchGetDocuments\",\n            requestStream: false,\n            responseStream: true,\n            requestSerialize: (message: BatchGetDocumentsRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => BatchGetDocumentsRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: BatchGetDocumentsResponse) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => BatchGetDocumentsResponse.deserialize(new Uint8Array(bytes))\n        },\n        BeginTransaction: {\n            path: \"/google.firestore.v1.Firestore/BeginTransaction\",\n            requestStream: false,\n            responseStream: false,\n            requestSerialize: (message: BeginTransactionRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => BeginTransactionRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: BeginTransactionResponse) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => BeginTransactionResponse.deserialize(new Uint8Array(bytes))\n        },\n        Commit: {\n            path: \"/google.firestore.v1.Firestore/Commit\",\n            requestStream: false,\n            responseStream: false,\n            requestSerialize: (message: CommitRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => CommitRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: CommitResponse) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => CommitResponse.deserialize(new Uint8Array(bytes))\n        },\n        Rollback: {\n            path: \"/google.firestore.v1.Firestore/Rollback\",\n            requestStream: false,\n            responseStream: false,\n            requestSerialize: (message: RollbackRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => RollbackRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: dependency_10.Empty) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => dependency_10.Empty.deserialize(new Uint8Array(bytes))\n        },\n        RunQuery: {\n            path: \"/google.firestore.v1.Firestore/RunQuery\",\n            requestStream: false,\n            responseStream: true,\n            requestSerialize: (message: RunQueryRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => RunQueryRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: RunQueryResponse) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => RunQueryResponse.deserialize(new Uint8Array(bytes))\n        },\n        RunAggregationQuery: {\n            path: \"/google.firestore.v1.Firestore/RunAggregationQuery\",\n            requestStream: false,\n            responseStream: true,\n            requestSerialize: (message: RunAggregationQueryRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => RunAggregationQueryRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: RunAggregationQueryResponse) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => RunAggregationQueryResponse.deserialize(new Uint8Array(bytes))\n        },\n        PartitionQuery: {\n            path: \"/google.firestore.v1.Firestore/PartitionQuery\",\n            requestStream: false,\n            responseStream: false,\n            requestSerialize: (message: PartitionQueryRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => PartitionQueryRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: PartitionQueryResponse) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => PartitionQueryResponse.deserialize(new Uint8Array(bytes))\n        },\n        Write: {\n            path: \"/google.firestore.v1.Firestore/Write\",\n            requestStream: true,\n            responseStream: true,\n            requestSerialize: (message: WriteRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => WriteRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: WriteResponse) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => WriteResponse.deserialize(new Uint8Array(bytes))\n        },\n        Listen: {\n            path: \"/google.firestore.v1.Firestore/Listen\",\n            requestStream: true,\n            responseStream: true,\n            requestSerialize: (message: ListenRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => ListenRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: ListenResponse) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => ListenResponse.deserialize(new Uint8Array(bytes))\n        },\n        ListCollectionIds: {\n            path: \"/google.firestore.v1.Firestore/ListCollectionIds\",\n            requestStream: false,\n            responseStream: false,\n            requestSerialize: (message: ListCollectionIdsRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => ListCollectionIdsRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: ListCollectionIdsResponse) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => ListCollectionIdsResponse.deserialize(new Uint8Array(bytes))\n        },\n        BatchWrite: {\n            path: \"/google.firestore.v1.Firestore/BatchWrite\",\n            requestStream: false,\n            responseStream: false,\n            requestSerialize: (message: BatchWriteRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => BatchWriteRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: BatchWriteResponse) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => BatchWriteResponse.deserialize(new Uint8Array(bytes))\n        },\n        CreateDocument: {\n            path: \"/google.firestore.v1.Firestore/CreateDocument\",\n            requestStream: false,\n            responseStream: false,\n            requestSerialize: (message: CreateDocumentRequest) => Buffer.from(message.serialize()),\n            requestDeserialize: (bytes: Buffer) => CreateDocumentRequest.deserialize(new Uint8Array(bytes)),\n            responseSerialize: (message: dependency_6.Document) => Buffer.from(message.serialize()),\n            responseDeserialize: (bytes: Buffer) => dependency_6.Document.deserialize(new Uint8Array(bytes))\n        }\n    };\n    [method: string]: grpc_1.UntypedHandleCall;\n    abstract GetDocument(call: grpc_1.ServerUnaryCall<GetDocumentRequest, dependency_6.Document>, callback: grpc_1.sendUnaryData<dependency_6.Document>): void;\n    abstract ListDocuments(call: grpc_1.ServerUnaryCall<ListDocumentsRequest, ListDocumentsResponse>, callback: grpc_1.sendUnaryData<ListDocumentsResponse>): void;\n    abstract UpdateDocument(call: grpc_1.ServerUnaryCall<UpdateDocumentRequest, dependency_6.Document>, callback: grpc_1.sendUnaryData<dependency_6.Document>): void;\n    abstract DeleteDocument(call: grpc_1.ServerUnaryCall<DeleteDocumentRequest, dependency_10.Empty>, callback: grpc_1.sendUnaryData<dependency_10.Empty>): void;\n    abstract BatchGetDocuments(call: grpc_1.ServerWritableStream<BatchGetDocumentsRequest, BatchGetDocumentsResponse>): void;\n    abstract BeginTransaction(call: grpc_1.ServerUnaryCall<BeginTransactionRequest, BeginTransactionResponse>, callback: grpc_1.sendUnaryData<BeginTransactionResponse>): void;\n    abstract Commit(call: grpc_1.ServerUnaryCall<CommitRequest, CommitResponse>, callback: grpc_1.sendUnaryData<CommitResponse>): void;\n    abstract Rollback(call: grpc_1.ServerUnaryCall<RollbackRequest, dependency_10.Empty>, callback: grpc_1.sendUnaryData<dependency_10.Empty>): void;\n    abstract RunQuery(call: grpc_1.ServerWritableStream<RunQueryRequest, RunQueryResponse>): void;\n    abstract RunAggregationQuery(call: grpc_1.ServerWritableStream<RunAggregationQueryRequest, RunAggregationQueryResponse>): void;\n    abstract PartitionQuery(call: grpc_1.ServerUnaryCall<PartitionQueryRequest, PartitionQueryResponse>, callback: grpc_1.sendUnaryData<PartitionQueryResponse>): void;\n    abstract Write(call: grpc_1.ServerDuplexStream<WriteRequest, WriteResponse>): void;\n    abstract Listen(call: grpc_1.ServerDuplexStream<ListenRequest, ListenResponse>): void;\n    abstract ListCollectionIds(call: grpc_1.ServerUnaryCall<ListCollectionIdsRequest, ListCollectionIdsResponse>, callback: grpc_1.sendUnaryData<ListCollectionIdsResponse>): void;\n    abstract BatchWrite(call: grpc_1.ServerUnaryCall<BatchWriteRequest, BatchWriteResponse>, callback: grpc_1.sendUnaryData<BatchWriteResponse>): void;\n    abstract CreateDocument(call: grpc_1.ServerUnaryCall<CreateDocumentRequest, dependency_6.Document>, callback: grpc_1.sendUnaryData<dependency_6.Document>): void;\n}\nexport class FirestoreClient extends grpc_1.makeGenericClientConstructor(UnimplementedFirestoreService.definition, \"Firestore\", {}) {\n    constructor(address: string, credentials: grpc_1.ChannelCredentials, options?: Partial<grpc_1.ChannelOptions>) {\n        super(address, credentials, options);\n    }\n    GetDocument: GrpcUnaryServiceInterface<GetDocumentRequest, dependency_6.Document> = (message: GetDocumentRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<dependency_6.Document>, options?: grpc_1.CallOptions | grpc_1.requestCallback<dependency_6.Document>, callback?: grpc_1.requestCallback<dependency_6.Document>): grpc_1.ClientUnaryCall => {\n        return super.GetDocument(message, metadata, options, callback);\n    };\n    ListDocuments: GrpcUnaryServiceInterface<ListDocumentsRequest, ListDocumentsResponse> = (message: ListDocumentsRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<ListDocumentsResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<ListDocumentsResponse>, callback?: grpc_1.requestCallback<ListDocumentsResponse>): grpc_1.ClientUnaryCall => {\n        return super.ListDocuments(message, metadata, options, callback);\n    };\n    UpdateDocument: GrpcUnaryServiceInterface<UpdateDocumentRequest, dependency_6.Document> = (message: UpdateDocumentRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<dependency_6.Document>, options?: grpc_1.CallOptions | grpc_1.requestCallback<dependency_6.Document>, callback?: grpc_1.requestCallback<dependency_6.Document>): grpc_1.ClientUnaryCall => {\n        return super.UpdateDocument(message, metadata, options, callback);\n    };\n    DeleteDocument: GrpcUnaryServiceInterface<DeleteDocumentRequest, dependency_10.Empty> = (message: DeleteDocumentRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<dependency_10.Empty>, options?: grpc_1.CallOptions | grpc_1.requestCallback<dependency_10.Empty>, callback?: grpc_1.requestCallback<dependency_10.Empty>): grpc_1.ClientUnaryCall => {\n        return super.DeleteDocument(message, metadata, options, callback);\n    };\n    BatchGetDocuments: GrpcStreamServiceInterface<BatchGetDocumentsRequest, BatchGetDocumentsResponse> = (message: BatchGetDocumentsRequest, metadata?: grpc_1.Metadata | grpc_1.CallOptions, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<BatchGetDocumentsResponse> => {\n        return super.BatchGetDocuments(message, metadata, options);\n    };\n    BeginTransaction: GrpcUnaryServiceInterface<BeginTransactionRequest, BeginTransactionResponse> = (message: BeginTransactionRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<BeginTransactionResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<BeginTransactionResponse>, callback?: grpc_1.requestCallback<BeginTransactionResponse>): grpc_1.ClientUnaryCall => {\n        return super.BeginTransaction(message, metadata, options, callback);\n    };\n    Commit: GrpcUnaryServiceInterface<CommitRequest, CommitResponse> = (message: CommitRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<CommitResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<CommitResponse>, callback?: grpc_1.requestCallback<CommitResponse>): grpc_1.ClientUnaryCall => {\n        return super.Commit(message, metadata, options, callback);\n    };\n    Rollback: GrpcUnaryServiceInterface<RollbackRequest, dependency_10.Empty> = (message: RollbackRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<dependency_10.Empty>, options?: grpc_1.CallOptions | grpc_1.requestCallback<dependency_10.Empty>, callback?: grpc_1.requestCallback<dependency_10.Empty>): grpc_1.ClientUnaryCall => {\n        return super.Rollback(message, metadata, options, callback);\n    };\n    RunQuery: GrpcStreamServiceInterface<RunQueryRequest, RunQueryResponse> = (message: RunQueryRequest, metadata?: grpc_1.Metadata | grpc_1.CallOptions, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<RunQueryResponse> => {\n        return super.RunQuery(message, metadata, options);\n    };\n    RunAggregationQuery: GrpcStreamServiceInterface<RunAggregationQueryRequest, RunAggregationQueryResponse> = (message: RunAggregationQueryRequest, metadata?: grpc_1.Metadata | grpc_1.CallOptions, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<RunAggregationQueryResponse> => {\n        return super.RunAggregationQuery(message, metadata, options);\n    };\n    PartitionQuery: GrpcUnaryServiceInterface<PartitionQueryRequest, PartitionQueryResponse> = (message: PartitionQueryRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<PartitionQueryResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<PartitionQueryResponse>, callback?: grpc_1.requestCallback<PartitionQueryResponse>): grpc_1.ClientUnaryCall => {\n        return super.PartitionQuery(message, metadata, options, callback);\n    };\n    Write: GrpcChunkServiceInterface<WriteRequest, WriteResponse> = (metadata?: grpc_1.Metadata | grpc_1.CallOptions, options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<WriteRequest, WriteResponse> => {\n        return super.Write(metadata, options);\n    };\n    Listen: GrpcChunkServiceInterface<ListenRequest, ListenResponse> = (metadata?: grpc_1.Metadata | grpc_1.CallOptions, options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<ListenRequest, ListenResponse> => {\n        return super.Listen(metadata, options);\n    };\n    ListCollectionIds: GrpcUnaryServiceInterface<ListCollectionIdsRequest, ListCollectionIdsResponse> = (message: ListCollectionIdsRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<ListCollectionIdsResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<ListCollectionIdsResponse>, callback?: grpc_1.requestCallback<ListCollectionIdsResponse>): grpc_1.ClientUnaryCall => {\n        return super.ListCollectionIds(message, metadata, options, callback);\n    };\n    BatchWrite: GrpcUnaryServiceInterface<BatchWriteRequest, BatchWriteResponse> = (message: BatchWriteRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<BatchWriteResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<BatchWriteResponse>, callback?: grpc_1.requestCallback<BatchWriteResponse>): grpc_1.ClientUnaryCall => {\n        return super.BatchWrite(message, metadata, options, callback);\n    };\n    CreateDocument: GrpcUnaryServiceInterface<CreateDocumentRequest, dependency_6.Document> = (message: CreateDocumentRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<dependency_6.Document>, options?: grpc_1.CallOptions | grpc_1.requestCallback<dependency_6.Document>, callback?: grpc_1.requestCallback<dependency_6.Document>): grpc_1.ClientUnaryCall => {\n        return super.CreateDocument(message, metadata, options, callback);\n    };\n}\n"],"mappings":"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","names":["pb_1","pb_1","pb_1","Value","pb_1","Value","pb_1","pb_1","pb_1","Value","Value","Value","pb_1","pb_1","pb_1","pb_1","Value","Value","pb_1","pb_1","pb_1","pb_1","TargetChangeTargetChangeType"]}