import { type SemanticColorOverrides } from '../tokens/colors';
import type { FontFamilyOverrides, SemanticFontOverrides } from '../tokens/typography';
import type { SemanticRadiusOverrides } from '../tokens/radius';
import type { SemanticShadowOverrides } from '../tokens/shadows';
import type { SemanticMotionOverrides } from '../tokens/motion';
import type { SemanticSpacingOverrides } from '../tokens/spacing';
import type { SemanticTextShadowOverrides } from '../tokens/text-shadows';
export interface BeatuiPresetOptions {
    /**
     * Override the semantic color mapping BeatUI uses (e.g. map `primary` to `emerald`).
     */
    semanticColors?: SemanticColorOverrides;
    /**
     * Override semantic font aliases (e.g. map `heading` to `var(--font-family-serif)`).
     */
    semanticFonts?: SemanticFontOverrides;
    /**
     * Override semantic radius aliases for controls, surfaces, etc.
     */
    semanticRadii?: SemanticRadiusOverrides;
    /**
     * Override semantic shadow aliases (elevation levels for surfaces, overlays, etc.).
     */
    semanticShadows?: SemanticShadowOverrides;
    /**
     * Override semantic motion tokens (transition durations/easing).
     */
    semanticMotion?: SemanticMotionOverrides;
    /**
     * Override spacing stack aliases for layout stacks.
     */
    semanticSpacing?: SemanticSpacingOverrides;
    /**
     * Override semantic text shadow aliases (e.g. button emphasis shadows).
     */
    semanticTextShadows?: SemanticTextShadowOverrides;
    /**
     * Override the default font family tokens (e.g. set `sans` to a custom stack).
     */
    fontFamilies?: FontFamilyOverrides;
    /**
     * When false, skip registering core token variables (spacing, typography, etc.).
     */
    includeCoreTokens?: boolean;
    /**
     * When false, skip registering semantic token aliases.
     */
    includeSemanticTokens?: boolean;
    /**
     * Extend Tailwind's theme with BeatUI semantic color aliases.
     */
    extendTheme?: boolean;
}
interface TailwindPluginApi {
    addBase: (base: Record<string, Record<string, string>>) => void;
    addVariant: (name: string, variant: string | string[]) => void;
}
interface TailwindPreset {
    darkMode: string;
    theme: {
        extend: Record<string, unknown>;
    };
    plugins: TailwindPluginConfig[];
}
interface TailwindPluginConfig {
    handler: (api: TailwindPluginApi) => void;
    config?: Record<string, unknown>;
}
export declare function createBeatuiPreset(options?: BeatuiPresetOptions): TailwindPreset;
export declare const beatuiPreset: TailwindPreset;
export type { SemanticColorOverrides as BeatuiSemanticColorOverrides };
