import { Trait, TraitClass } from ".." /** * Represents an array of classes corresponding to the provided traits. * @template Traits - An array of traits extending Trait. */ export type TraitsClasses[]> = ( Traits extends [infer T, ...infer Rest] ? T extends Trait ? Rest extends Trait[] ? [TraitClass, ...TraitsClasses] : never : never : [] )