import type { GeneralActionDefinition } from '../definition.js'; import type { GeneralActionResolver } from '../engine.js'; import type { ActionContextBuilder } from './actionContext.js'; import type { TurnCommandEnv } from './commandEnv.js'; export interface TurnCommandSpecBase { key: TKey; category: string; reqArg: boolean; args: Record; createDefinition(env: TurnCommandEnv): GeneralActionDefinition; } export interface TurnCommandModule { commandSpec: TSpec; ActionDefinition: new (...args: any[]) => GeneralActionDefinition; ActionResolver?: new (...args: any[]) => GeneralActionResolver; CommandResolver?: new (...args: any[]) => unknown; actionContextBuilder?: ActionContextBuilder; }