import type { Preset, Presets } from './types';
import { AsyncParallelHook, AsyncSeriesWaterfallHook } from 'tapable';
export declare function hooks(name: string): {
    /**
     * Async waterfall hook.<br>
     * Called after any presets.yaml was loaded.
     */
    PresetsLoaded: AsyncSeriesWaterfallHook<[Presets, RelativePath], import("tapable").UnsetAdditionalOptions>;
    /**
     * Async parallel hook.<br>
     * Called after vars was resolved on any level.<br>
     * Vars data is sealed here.
     */
    Resolved: AsyncParallelHook<[DeepFrozen<Preset>, RelativePath], import("tapable").UnsetAdditionalOptions>;
};
declare const getHooks: (program: object | undefined) => {
    /**
     * Async waterfall hook.<br>
     * Called after any presets.yaml was loaded.
     */
    PresetsLoaded: AsyncSeriesWaterfallHook<[Presets, RelativePath], import("tapable").UnsetAdditionalOptions>;
    /**
     * Async parallel hook.<br>
     * Called after vars was resolved on any level.<br>
     * Vars data is sealed here.
     */
    Resolved: AsyncParallelHook<[DeepFrozen<Preset>, RelativePath], import("tapable").UnsetAdditionalOptions>;
}, withHooks: <T extends ClassType<any>>(Target: T, { kind }: ClassDecoratorContext<abstract new (...args: any) => any>) => T;
export { getHooks, withHooks };
