import type { Plugin, MaybeAsync } from '@gasket/core'; import type { GasketArgDefinition, GasketOptionDefinition } from './internal.js'; export interface GasketCommandDefinition { /* Command id/name */ id: string; /* Command description */ description: string; /* Command arguments */ args?: Array; /* Command options */ options?: Array; /* Command action handler */ action: (...args: any[]) => MaybeAsync; /* Hide from help output */ hidden?: boolean; /* Default command to run if no command is provided */ default?: boolean; } declare module '@gasket/core' { /* Custom command name/id */ export interface GasketConfig { command?: string; } interface HookExecTypes { commands(): GasketCommandDefinition | GasketCommandDefinition[]; build(): void; } } declare const plugin: Plugin; export default plugin;