import { T as Theme, C as ColorMixFallback, P as PresentationOptions } from './PresentationConfig-8F8YQD0F.js';
import { S as StyleConfig } from './ui-BfG6bZHf.js';
import 'react';

/**
 * Takes a theme and dynamically generate the styles that uses color-mix,
 * as a fallback for browsers that do not support color-mix()
 */
declare function generateColorFallback(theme: Theme): ColorMixFallback;
declare function addColorFallback(theme: Theme): Theme;

/**
 * Maps a legacy StyleConfig to the new Theme format.
 *
 * This is a best-effort mapping - some StyleConfig properties don't have
 * direct equivalents in Theme, and some Theme properties don't have
 * StyleConfig equivalents.
 *
 * StyleConfig properties that don't have good mappings to Theme:
 *  - inputs.placeholderColor - No equivalent (could potentially map to muted-foreground)
 *  - inputs.textColor - Mapped to foreground as approximation, but is input-specific
 *  - buttons.primary.borderColor - No specific mapping (could use border but loses specificity)
 *  - buttons.primary.borderRadius - Mapped to button-radius but loses primary-specific control
 *  - buttons.secondary.borderColor - No specific mapping (could use border but loses specificity)
 *  - buttons.secondary.borderRadius - Mapped to button-radius but loses secondary-specific control
 *  - buttons.disabled.* - No equivalents (disabled state styling not in Theme)
 *
 * Theme properties that don't have StyleConfig equivalents:
 *  - 'transition-duration' - defaulted to 0 instead of 0.15s in our new default theme
 *  - 'font-family-mono' - defaults to theme default which is system UI monospace
 *  - 'text-base' - defaults to 1rem which is close to the old font sizes
 *  - spacing - defaults to new theme default which is close but not equivalent to old spacing
 *  - shadow, 'shadow-button', 'shadow-input' - no default in new theme
 *  - foreground - Approximated from inputs.textColor but not exact
 *  - muted, 'muted-foreground'
 *  - 'accent-foreground'
 *  - ring - previously defaults to OS default focus outline color
 */
declare function styleToTheme(styleConfig: StyleConfig, { silent }?: {
    silent?: boolean;
}): {
    theme: Partial<Theme>;
    options: Partial<PresentationOptions>;
};

export { addColorFallback, generateColorFallback, styleToTheme };
