import type { StructAssociated, StructMember, StructMethod } from "./struct-member.js"; export type StructImpl = Record>; export type StructStatics = { [Key in keyof TDefinition]: TDefinition[Key] extends StructAssociated ? (...args: Args) => Result : TDefinition[Key] extends StructMethod ? (self: TSelf, ...args: Args) => Result : TDefinition[Key]; };