/** * @file Theme Configuration * @description Configuration options and setup for the theme management system. */ import type { TThemeOptions } from "../types.js"; /** * Default theme configuration options. * * @type {TThemeOptions} */ export declare const themeOptions: TThemeOptions; /** * Configures the theme system with custom options and initializes the theme. * * This function processes the configuration to ensure a default theme exists, * then applies the theme based on the new configuration. The defaultTheme and * defaultDarkTheme properties are used to create a default theme definition * if one doesn't exist. * * @param {Partial} options - Custom theme options to merge with defaults * * @example * // Legacy configuration - automatically creates default theme * themeDefineOptions({ * defaultTheme: "light", * defaultDarkTheme: "dark", * }); * // Results in: themes: [{ id: "default", light: "light", dark: "dark" }] * * @example * // Modern configuration with theme definitions * themeDefineOptions({ * themes: [ * { id: "orange", light: "orange-light", dark: "orange-dark" }, * { id: "red", light: "volcano", dark: "cave" }, * { * id: "blue", * light: "skytheme", * dark: "alaska", * lightStyle: { "text-decoration": "underline" }, * darkStyle: { "font-size": "16px" } * } * ] * }); * // Automatically adds: { id: "default", light: "light", dark: "dark" } * * @example * // Mixed configuration - preserves existing default * themeDefineOptions({ * defaultTheme: "custom-light", * defaultDarkTheme: "custom-dark", * themes: [ * { id: "default", light: "light", dark: "dark" }, * { id: "red", light: "volcano", dark: "cave" } * ] * }); * // No changes - default theme already exists */ export declare function themeDefineOptions(options: Partial): void;