import { Mode } from '@foxpage/foxpage-plugin';
import { PluginLoaderOptions } from '@foxpage/foxpage-plugin';
import { FoxpageHooks, Logger, PluginManager } from '@foxpage/foxpage-types';
/**
 * plugin manager for ssr
 *
 * @export
 * @class PluginManager
 * @implements {PluginManager}
 */
export declare class PluginManagerImpl implements PluginManager {
    /**
     * plugin loader
     *
     * @private
     * @type {PluginLoader}
     */
    private loader;
    logger: Logger;
    constructor(opt: PluginLoaderOptions & {
        appId?: string;
    });
    /**
     * load plugins
     *
     */
    loadPlugins(): void;
    /**
     * get one plugin
     *
     * @param {string} name
     * @return {*}
     */
    getPlugin(name: string): import("@foxpage/foxpage-plugin").FoxpagePlugin<Record<string, any>> | undefined;
    /**
     * get plugins
     *
     * @return {*}
     */
    getPlugins(): string[];
    /**
     * getHooks
     */
    getHooks(mode?: Mode): FoxpageHooks | undefined;
    /**
     * check plugin
     *
     * @param {string} name
     * @return {*}
     */
    hasPlugin(name: string): boolean;
    /**
     * destroy
     */
    destroy(): void;
}
