import type { SomeZodObject, z } from "zod";
/**
 * The intention behind these helpers is to make it easier to work with metadata.
 * @param schema This is the zod schema that you want to use to parse the metadata
 * @param rawMetadata This is the metadata that you want to parse
 * @returns An object with the parsed metadata, a get function to get a specific key of the metadata, and a mergeMetadata function to merge new metadata with the old one
 * @example
 * const { mergeMetadata } = getMetadataHelpers(teamMetadataSchema, team.metadata);
 * const newMetadata = mergeMetadata({ someKey: "someValue" });
 * prisma.team.update({ ..., data: { metadata: newMetadata } });
 */
export declare function getMetadataHelpers<T extends SomeZodObject>(schema: T, rawMetadata: unknown): {
    metadata: z.TypeOf<T>;
    get: (key: keyof z.infer<T>) => z.TypeOf<T>[keyof z.TypeOf<T>];
    /** This method prevents overwriting the metadata fields that you don't want to change. */
    mergeMetadata: (newMetadata: z.infer<T>) => z.infer<T>;
};
//# sourceMappingURL=getMetadataHelpers.d.ts.map