import type { AnyPlugin, MarkdownPlugin, HtmlPlugin, RenderPlugin, ThemePlugin, ExportPlugin } from '../types/plugin.js';
import type { Page } from 'playwright-core';
import type { RenderContext } from '../types/context.js';
export declare class PluginRegistry {
private plugins;
private registeredNames;
register(plugin: AnyPlugin): void;
addPlugins(plugins: AnyPlugin[]): void;
registerBuiltIn(plugin: AnyPlugin): void;
getMarkdownPlugins(): MarkdownPlugin[];
getHtmlPlugins(): HtmlPlugin[];
getRenderPlugins(): RenderPlugin[];
getThemePlugins(): ThemePlugin[];
getExportPlugins(): ExportPlugin[];
setupAll(): Promise;
executeBeforeRender(html: string, ctx: RenderContext): Promise;
executeAfterPageLoad(page: Page, ctx: RenderContext): Promise;
executeAfterPdf(pdfBuffer: Buffer, ctx: RenderContext): Promise;
teardownAll(): Promise;
}