import type { Config } from 'tailwindcss'; import type { LynxPluginName, LynxPluginsOption, LynxUIPluginsOption } from './core.js'; /** * Creates a Tailwind preset tailored for the Lynx ecosystem. * * @param options - Configuration options for the preset * @param options.lynxPlugins - Controls which Lynx core plugins to enable * @param options.lynxUIPlugins - Controls which Lynx UI plugins to enable * @param options.debug - Whether to enable debug logging * @param options.theme - Custom theme configuration. Shallowly merged; each top-level key replaces the Lynx value. Use `theme.extend` to add values. * * @returns A partial Tailwind configuration object * * @remarks * - Requires **Tailwind v3+** (JIT enabled by default). * - Configure the `content` option in your Tailwind config; * otherwise the generated CSS bundle may include unused utilities. * - The `defaults` plugin is always enabled regardless of configuration. * - Debug mode will log enabled plugins to the console. * * @defaultValue * - `lynxPlugins`: `true` * - `lynxUIPlugins`: `true` (starting with v0.4.0; includes `uiVariants`) * - `debug`: `false` * - `theme`: `undefined` * * @example Basic usage with all defaults * ```ts * const preset = createLynxPreset(); * ``` * * @example Opt out globally or per plugin * ```ts * // turn off all UI plugins * createLynxPreset({ lynxUIPlugins: false }); * * // turn off a single UI plugin * createLynxPreset({ lynxUIPlugins: { uiVariants: false } }); * * // enable debug mode * createLynxPreset({ debug: true }); * * ``` * * @since 0.1.0 */ declare function createLynxPreset({ lynxPlugins, lynxUIPlugins, debug, theme, }?: { lynxPlugins?: LynxPluginsOption; lynxUIPlugins?: LynxUIPluginsOption; debug?: boolean; theme?: Config['theme']; }): Partial; declare const preset: Partial; export default preset; export { createLynxPreset }; export type { LynxPluginName };