import z from 'zod';
export declare enum MessageType {
    UnitsChanged = "unitsChanged"
}
type ZodTopic = z.ZodLiteral<string | undefined>;
type ZodTopicDefault = z.ZodLiteral<undefined>;
export declare namespace InputMessages {
    const UnitsChanged: <Obj extends z.ZodRawShape = {}, Topic extends ZodTopic = ZodTopicDefault>(additionalFields?: Obj, topic?: Topic) => z.ZodObject<{
        topic: Topic;
        payload: z.ZodObject<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">>;
    }, "strip", z.ZodTypeAny, { [k in keyof z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
        topic: Topic;
        payload: z.ZodObject<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">>;
    }>, any>]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
        topic: Topic;
        payload: z.ZodObject<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">>;
    }>, any>[k]; }, { [k_1 in keyof z.baseObjectInputType<{
        topic: Topic;
        payload: z.ZodObject<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">>;
    }>]: z.baseObjectInputType<{
        topic: Topic;
        payload: z.ZodObject<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<MessageType>;
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">>;
    }>[k_1]; }>;
    /**
     * @deprecated
     *
     * This is exactly the same type as Voting, but lacks `type: UnitsChanged`.
     * It is used by source-validator, and should not be used by anything else. SourceValidator adds `type` for rest of nodes.
     * It is used for backwards compatibility for changes in protocol that add "type" to a message.
     * It could be in kafka-proxy instead, but kafka-proxy should not unpack messages.
     * Additionally, having it in worker allows us to smoothly remove it in future, after GGP is upgraded everywhere.
     */
    const UnitsChangedCompatibility: <Obj extends z.ZodRawShape = {}, Topic extends ZodTopic = ZodTopicDefault>(additionalFields?: Obj, topic?: Topic) => z.ZodObject<{
        topic: Topic;
        payload: z.ZodObject<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">>;
    }, "strip", z.ZodTypeAny, { [k in keyof z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
        topic: Topic;
        payload: z.ZodObject<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">>;
    }>, any>]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
        topic: Topic;
        payload: z.ZodObject<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">>;
    }>, any>[k]; }, { [k_1 in keyof z.baseObjectInputType<{
        topic: Topic;
        payload: z.ZodObject<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">>;
    }>]: z.baseObjectInputType<{
        topic: Topic;
        payload: z.ZodObject<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            txLog: z.ZodObject<{
                rootUnitId: z.ZodString;
                changes: z.ZodArray<z.ZodObject<{
                    prevOwner: z.ZodNullable<z.ZodString>;
                    owner: z.ZodString;
                    volume: z.ZodNumber;
                    unitId: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }, {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }>, "many">;
            }, "strip", z.ZodTypeAny, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }, {
                rootUnitId: string;
                changes: {
                    prevOwner: string | null;
                    owner: string;
                    volume: number;
                    unitId: string;
                }[];
            }>;
        } & Obj, z.ZodTypeAny, "passthrough">>;
    }>[k_1]; }>;
}
export {};
