import { ViewTransitionOptions } from "./use-view-transition.mjs"; import * as _vueuse_core0 from "@vueuse/core"; import { ConfigurableWindow, UseColorModeOptions, UseDarkOptions } from "@vueuse/core"; import * as vue from "vue"; //#region src/use-theme.d.ts /** * 主题配置选项 */ type UseThemeOptions = { /** * 存储在 localStorage 中的键名 * @default '__COLOR_MODE_PERSIST__' */ storageKey?: string; /** * 视图过渡动画配置选项 */ viewTransitionOptions?: ViewTransitionOptions; /** * 暗色模式选项 */ useDarkOptions?: UseDarkOptions; /** * 系统主题跟随选项 */ usePreferredDarkOptions?: ConfigurableWindow; /** * 颜色模式选项 */ useColorModeOptions?: UseColorModeOptions; }; /** * 主题管理 Composable * * 提供完整的主题切换功能,支持暗色/亮色模式切换、系统主题跟随、平滑过渡动画等 * * @param options 主题配置选项 * @returns 返回主题相关的状态和方法 * * @example * ```ts * const { isDark, toggleDark, setDark, setLight } = useTheme({ * storageKey: 'my-app-theme', * viewTransitionOptions: { * duration: 800, * easing: 'ease-out' * } * }) * * toggleDark(event) * setDark() * setLight() * ``` */ declare function useTheme(options?: UseThemeOptions): { isDark: _vueuse_core0.UseDarkReturn; preferredDark: vue.ComputedRef; colorMode: vue.Ref<"light" | "dark" | "auto", "light" | "dark" | "auto">; systemColorMode: vue.ComputedRef<_vueuse_core0.BasicColorMode>; setColorMode: (mode: "dark" | "light" | "auto", event?: MouseEvent) => void; setDark: (event?: MouseEvent) => void; setLight: (event?: MouseEvent) => void; toggleDark: (event?: MouseEvent) => void; }; /** * useTheme 函数的返回类型 */ type UseThemeReturns = ReturnType; //#endregion export { UseThemeOptions, UseThemeReturns, useTheme };