import { Theme } from "vuepress/core";
import { ThemeCollectionItem, ThemeCollections, ThemeConfig, ThemeNavItem, ThemeOptions } from "../shared/index.js";
export * from "../shared/index.js";

//#region src/node/theme.d.ts
/**
 * VuePress Theme Plume
 *
 * VuePress 主题 Plume
 *
 * @param options Theme options / 主题配置
 * @example
 * ```ts
 * import { defineUserConfig } from 'vuepress'
 * import { plumeTheme } from 'vuepress-theme-plume'
 *
 * export default defineUserConfig({
 *   theme: plumeTheme({
 *     // ...options
 *   })
 * })
 * ```
 */
declare function plumeTheme(options?: ThemeOptions): Theme;
//#endregion
//#region src/node/defineConfig.d.ts
/**
 * Theme configuration helper function, used in separate `plume.config.ts`
 *
 * 主题配置，在单独的 `plume.config.ts` 中使用的类型帮助函数
 */
declare function defineThemeConfig(config: ThemeConfig): ThemeConfig;
/**
 * Theme navbar configuration helper function
 *
 * 主题导航栏配置帮助函数
 */
declare function defineNavbarConfig(navbar: ThemeNavItem[]): ThemeNavItem[];
/**
 * Theme notes configuration helper function
 *
 * 主题 notes 配置帮助函数
 * @deprecated 使用 `defineCollections` 代替
 */
declare function defineNotesConfig(notes: unknown): unknown;
/**
 * Theme note item configuration helper function
 *
 * 主题 notes item 配置帮助函数
 * @deprecated 使用 `defineCollection` 代替
 */
declare function defineNoteConfig(note: unknown): unknown;
/**
 * Theme collections configuration helper function
 *
 * 主题 collections 配置帮助函数
 */
declare function defineCollections(collections: ThemeCollections): ThemeCollections;
/**
 * Theme collection item configuration helper function
 *
 * 主题 collection item 配置帮助函数
 */
declare function defineCollection(collection: ThemeCollectionItem): ThemeCollectionItem;
//#endregion
export { plumeTheme as default, plumeTheme, defineCollection, defineCollections, defineNavbarConfig, defineNoteConfig, defineNotesConfig, defineThemeConfig };