import type { Pluggable } from 'unified';
import type { PluginOption } from 'vite';
import type { staticSiteGenerationConfig } from './types';
import { DefaultPageStrategy, defaultFileHandler } from './page-strategy/DefaultPageStrategy';
import { PageStrategy } from './page-strategy';
export interface PluginConfig {
    pagesDir?: string;
    pageStrategy?: PageStrategy;
    useHashRouter?: boolean;
    staticSiteGeneration?: staticSiteGenerationConfig;
    /** user can add/remove remark plugins passed to mdx */
    modifyRemarkPlugins?: ModifyNamedUnifiedPlugins;
    /** user can add/remove rehype plugins passed to mdx */
    modifyRehypePlugins?: ModifyNamedUnifiedPlugins;
}
export type NamedUnifiedPlugin = {
    /** use name so that modifier can recognize a plugin */
    name: string;
    createPlugin: () => Pluggable | Promise<Pluggable>;
};
export type ModifyNamedUnifiedPlugins = (original: NamedUnifiedPlugin[]) => NamedUnifiedPlugin[];
export type { Theme, LoadState, PagesLoaded, PagesStaticData, TsInfo, TsPropertyOrMethodInfo, } from '../../clientTypes';
export type { FileHandler } from './page-strategy/types.doc';
export { extractStaticData, File } from './utils/virtual-module';
export { PageStrategy };
export { DefaultPageStrategy, defaultFileHandler };
export default function setupPlugins(vpConfig?: PluginConfig): Promise<PluginOption[]>;
//# sourceMappingURL=index.d.ts.map