/** * 暗黑模式检测工具 * 支持多种检测方式:系统偏好、CSS 类名、data 属性 */ export type ColorScheme = 'light' | 'dark'; /** * 暗黑模式检测配置 */ export interface DarkModeDetectorOptions { /** * 检测策略 * - 'system': 仅检测系统偏好 (prefers-color-scheme) * - 'class': 检测 html/body 上的类名 (dark/light) * - 'attribute': 检测 html 上的 data 属性 (data-theme, data-mode 等) * - 'auto': 自动检测,优先级:attribute > class > system * @default 'auto' */ strategy?: 'system' | 'class' | 'attribute' | 'auto'; /** * 自定义选择器(用于 class/attribute 策略) * @default 'html' */ selector?: string; /** * 暗黑模式的类名列表 * @default ['dark', 'theme-dark', 'dark-mode', 'dark-theme'] */ darkClassNames?: string[]; /** * 浅色模式的类名列表 * @default ['light', 'theme-light', 'light-mode', 'light-theme'] */ lightClassNames?: string[]; /** * 检测的 data 属性名列表 * @default ['data-theme', 'data-mode', 'data-color-scheme', 'data-color-mode'] */ dataAttributes?: string[]; /** * data 属性中表示暗黑模式的值 * @default ['dark', 'night'] */ darkAttributeValues?: string[]; } /** * 检测当前暗黑模式状态 */ export declare function detectColorScheme(options?: DarkModeDetectorOptions): ColorScheme; /** * 创建暗黑模式变化监听器 * 返回清理函数 */ export declare function observeColorScheme(callback: (scheme: ColorScheme) => void, options?: DarkModeDetectorOptions): () => void; //# sourceMappingURL=darkMode.d.ts.map