import { AliasOptions, Plugin } from 'vite'; import { Options as VuePluginOptions } from '@vitejs/plugin-vue'; import { SiteData, HeadConfig, LocaleConfig } from '../../types/shared'; export { resolveSiteDataByRoute } from './shared/config'; import { MarkdownOptions } from './markdown/markdown'; export interface UserConfig { lang?: string; base?: string; title?: string; description?: string; head?: HeadConfig[]; themeConfig?: ThemeConfig; locales?: Record; alias?: Record; markdown?: MarkdownOptions; outDir?: string; srcIncludes?: string[]; customData?: any; vueOptions?: VuePluginOptions; vitePlugins?: Plugin[]; importMap?: Record; } export interface SiteConfig { root: string; site: SiteData; configPath: string; themeDir: string; outDir: string; tempDir: string; alias: AliasOptions; pages: string[]; userConfig: UserConfig; markdown?: MarkdownOptions; vueOptions?: VuePluginOptions; vitePlugins?: Plugin[]; } export declare function resolveConfig(root: string): Promise; export declare function resolveUserConfig(root: string): Promise>; export declare function resolveSiteData(root: string): Promise;