import { z } from 'zod/v4-mini'; /** * Zod shape object matching type `T`, with any optional properties remapped to required properties * with type `originalType | undefined`. */ export type MatchingZodShape = { [K in keyof Required]: Omit extends T ? z.ZodMiniOptional> : z.ZodMiniType; }; /** * Get a Zod object that matches the expected type, including any optional properties. * (Does not provide the same guarantee for nested object types.) * * Unrecognized properties will be stripped/ignored at runtime. * To preserve them, use `matchingZodObjectLoose` instead. * * Using this helper instead of `const ZodFoo = z.object({...}); type Foo = z.infer;` * is recommended in cases where the original type is defined elsewhere (such as in `common-types`), * to ensure all the properties stay in sync. */ export declare function matchingZodObject(shape: MatchingZodShape): z.ZodMiniObject, z.core.$strip>; /** * Like `matchingZodObject`, but pass through any extra properties that aren't defined in the shape. * * See `matchingZodObject` comment for more details. */ export declare function matchingZodObjectLoose(shape: MatchingZodShape): z.ZodMiniObject, z.core.$loose>; //# sourceMappingURL=matchingZodObject.d.ts.map