import type {Rule} from '../services/build/rule.js' interface Rules { _?: Rule } type Registry = { [K in keyof Rules as `${K & string}`]: Rules[K] } & Rules type Constructors = { [K in keyof Registry as `${K & string}`]?: new ( ...args: any[] ) => Registry[K] } export type {Constructors, Registry, Rules}