import { SyncHook } from 'tapable';
export declare const hookTypes: string[];
export interface Plugin {
    name: string;
    hooks: Record<string, (...args: any[]) => any>;
}
declare class PluginManager {
    hooks: {
        beforeHighlight: SyncHook<[object, EventTarget | null], void, import("tapable").UnsetAdditionalOptions>;
        afterHighlight: SyncHook<unknown, void, import("tapable").UnsetAdditionalOptions>;
        beforeInitOverlay: SyncHook<unknown, void, import("tapable").UnsetAdditionalOptions>;
        afterInitOverlay: SyncHook<unknown, void, import("tapable").UnsetAdditionalOptions>;
        beforeCreateOverlay: SyncHook<[object, object], void, import("tapable").UnsetAdditionalOptions>;
        afterCreateOverlay: SyncHook<unknown, void, import("tapable").UnsetAdditionalOptions>;
        beforeMountOverlay: SyncHook<unknown, void, import("tapable").UnsetAdditionalOptions>;
        afterMountOverlay: SyncHook<unknown, void, import("tapable").UnsetAdditionalOptions>;
        generateCss: SyncHook<unknown, void, import("tapable").UnsetAdditionalOptions>;
    };
    plugins: Map<string, Record<string, (...args: any[]) => any>>;
    install(plugins: Plugin[]): void;
    use(plugin: Plugin): void;
}
export default PluginManager;
