import { z } from 'zod';
import { KeyList, WithRequired } from './types.js';
/**
 * Factory that returns a typed faker function for a given schema.
 * - requiredKeys must be keys of the schema
 * - excludedFields must be keys of the schema
 * - returned function requires the required keys, all else optional
 */
export declare function createFakeSchemaFactory<TSchema extends z.ZodType, const TRequired extends KeyList<z.infer<TSchema>>, const TExcluded extends KeyList<z.infer<TSchema>> = []>(schema: TSchema, _requiredKeys: TRequired, excludedFields?: TExcluded): (overrides: WithRequired<z.core.output<TSchema>, TRequired[number]>) => z.core.output<TSchema>;
