type WithMethodName = K extends `${infer T}${string}` ? T extends Lowercase ? `with${Capitalize}` : `with_${K}` : never; type BuilderMethods = { [K in keyof T as WithMethodName]: (value: T[K]) => Builder; }; export type Builder = BuilderMethods & { build: () => T; }; export declare function aBuilder>(template?: Partial): Builder; export {}; //# sourceMappingURL=builder.d.ts.map