export type MethodSpec any> = { kind: "method"; defaultImpl?: Fn; abstract?: boolean; }; export type TraitSchema = Record any>>; export type InferTrait = { [Key in keyof TSchema]: TSchema[Key] extends MethodSpec ? Fn : never; };