import { IPluginOption, TPriority } from "./types"; declare abstract class Hook { abstract hooks: { pre: any[]; post: any[]; }; depsMap: Map; tap(name: string, pre?: (...args: any[]) => any, post?: (...args: any[]) => any, deps?: string[]): void; } export declare class InitHook extends Hook { hooks: { pre: Array<[string, (c: IPluginOption) => any]>; post: Array<[string, (c: IPluginOption) => any]>; }; tap(name: string, pre?: (c: IPluginOption) => any, post?: (c: IPluginOption) => any, deps?: string[]): void; run(c: ((name: string) => IPluginOption), d: TPriority): Promise; } export declare class ParseHook extends Hook { hooks: { pre: Array<[string, (a: A, b: B, c: IPluginOption) => any]>; post: Array<[string, (a: A, b: B, c: IPluginOption) => any]>; }; tap(name: string, pre?: (a: A, b: B, c: IPluginOption) => any, post?: (a: A, b: B, c: IPluginOption) => any, deps?: string[]): void; run(a: A, b: B, c: ((name: string) => IPluginOption), d: TPriority): Promise; } export declare class RenderHook extends Hook { hooks: { pre: Array<[string, (a: A, c: IPluginOption) => any]>; post: Array<[string, (a: A, c: IPluginOption) => any]>; }; tap(name: string, pre?: (a: A, c: IPluginOption) => any, post?: (a: A, c: IPluginOption) => any, deps?: string[]): void; run(a: A, c: ((name: string) => IPluginOption), d: TPriority): Promise; } export {};