import { type PageIndexInfo, type RouteMeta, type RspressPlugin, type UserConfig } from '@rspress/shared'; import type { RouteService } from './route/RouteService.js'; type RspressPluginHookKeys = 'beforeBuild' | 'config' | 'afterBuild' | 'addPages' | 'addRuntimeModules' | 'routeGenerated' | 'routeServiceGenerated' | 'extendPageData' | 'modifySearchIndexData' | 'i18nSource'; export declare class PluginDriver { #private; haveNavSidebarConfig: boolean; static create(config: UserConfig, configFilePath: string, isProd: boolean): Promise; private constructor(); getConfigFilePath(): string; init(): Promise; addPlugin(plugin: RspressPlugin): void; getPlugins(): RspressPlugin[]; clearPlugins(): void; removePlugin(pluginName: string): void; private normalizeConfig; modifyConfig(): Promise; beforeBuild(): Promise; afterBuild(): Promise; modifySearchIndexData(pages: PageIndexInfo[]): Promise; extendPageData(pageData: PageIndexInfo): Promise; addPages(): Promise; routeGenerated(routes: RouteMeta[]): Promise; routeServiceGenerated(routeService: RouteService): Promise; addRuntimeModules(): Promise>; i18nSource(defaultSource: Record>): Promise>>; globalUIComponents(): (string | [string, object])[]; globalStyles(): string[]; _runParallelAsyncHook(hookName: H, ...args: Parameters[H]>): Promise[H]>>[]>; _runSerialAsyncHook(hookName: H, ...args: Parameters[H]>): RspressPlugin; } export {};