import Config from '@cli-engine/config'; import { ICommandInfo } from './command'; import { IPluginModule, IPluginPJSON } from './plugins/plugin'; export declare abstract class Hook { protected config: Config; protected options: IHooks[T]; constructor(config: Config, options?: IHooks[T]); abstract run(): Promise; } export interface IHooks { init: {}; update: {}; 'plugins:parse': { module: IPluginModule; pjson: IPluginPJSON; }; prerun: { Command: ICommandInfo; argv: string[]; }; } export declare class Hooks { private config; constructor(config: Config); run(event: T, options?: IHooks[T]): Promise; private isLegacyHook(Hook); }