import type { VFile } from "../utils";
import type { IncludeInfo, IncluderOptions, RawToc, RawTocItem, Toc } from './types';
import { AsyncParallelHook, AsyncSeriesHook, AsyncSeriesWaterfallHook, HookMap, SyncHook } from 'tapable';
export declare function hooks(name: string): {
    /**
     * Called before item data processing (but after data interpolation)
     */
    Item: AsyncSeriesWaterfallHook<[RawTocItem, NormalizedPath], import("tapable").UnsetAdditionalOptions>;
    /**
     * AsyncSeriesWaterfall HookMap called for each includer name detected in toc.<br>
     * Expects RawToc as result of waterfall.
     */
    Includer: HookMap<AsyncSeriesWaterfallHook<[RawToc, IncluderOptions, NormalizedPath], import("tapable").UnsetAdditionalOptions>>;
    Loaded: AsyncParallelHook<[DeepFrozen<Toc>], import("tapable").UnsetAdditionalOptions>;
    Resolved: AsyncParallelHook<[DeepFrozen<Toc>], import("tapable").UnsetAdditionalOptions>;
    Included: AsyncParallelHook<[Toc, IncludeInfo], import("tapable").UnsetAdditionalOptions>;
    Dump: AsyncSeriesHook<[VFile<Toc, {}>], import("tapable").UnsetAdditionalOptions>;
    Filtered: SyncHook<[NormalizedPath], void, import("tapable").UnsetAdditionalOptions>;
};
declare const getHooks: (program: object | undefined) => {
    /**
     * Called before item data processing (but after data interpolation)
     */
    Item: AsyncSeriesWaterfallHook<[RawTocItem, NormalizedPath], import("tapable").UnsetAdditionalOptions>;
    /**
     * AsyncSeriesWaterfall HookMap called for each includer name detected in toc.<br>
     * Expects RawToc as result of waterfall.
     */
    Includer: HookMap<AsyncSeriesWaterfallHook<[RawToc, IncluderOptions, NormalizedPath], import("tapable").UnsetAdditionalOptions>>;
    Loaded: AsyncParallelHook<[DeepFrozen<Toc>], import("tapable").UnsetAdditionalOptions>;
    Resolved: AsyncParallelHook<[DeepFrozen<Toc>], import("tapable").UnsetAdditionalOptions>;
    Included: AsyncParallelHook<[Toc, IncludeInfo], import("tapable").UnsetAdditionalOptions>;
    Dump: AsyncSeriesHook<[VFile<Toc, {}>], import("tapable").UnsetAdditionalOptions>;
    Filtered: SyncHook<[NormalizedPath], void, import("tapable").UnsetAdditionalOptions>;
}, withHooks: <T extends ClassType<any>>(Target: T, { kind }: ClassDecoratorContext<abstract new (...args: any) => any>) => T;
export { getHooks, withHooks };
