export type SyncHookFunc

= (...args: P) => void; export type AsyncHookFunc

= (...args: P) => Promise; export declare class SyncHook

{ readonly type: "sync"; private fns; on: (fn: SyncHookFunc

) => void; call: (...args: P) => void; } export declare class AsyncHook

{ readonly type: "async"; private fns; on: (fn: AsyncHookFunc

) => void; call: (...args: P) => Promise; } export declare class AsyncSeriesHook

{ readonly type: "asyncSeries"; private fns; on: (fn: AsyncHookFunc

) => void; call: (...args: P) => Promise; }