import { Breakpoint, BreakpointConfig } from '../types/responsive';
import { PseudoClass, TypographyType } from '../types/style';
import { ThemeSettings } from '../types/theme';
import { Styles } from 'free-style';

/**
 * Generates CSS styles for the theme based on theme settings
 * @param options - The options for generating theme styles
 * @param options.settings - The theme settings
 * @param options.breakpoints - The breakpoint configurations
 * @returns A string of CSS for the theme
 */
export declare const generateThemeStyles: ({ settings, breakpoints, }: {
    settings: ThemeSettings;
    breakpoints: BreakpointConfig[];
}) => string;
/**
 * Generates CSS variables for color presets
 * @param presets - The color presets from theme settings
 * @returns An object with CSS variables for color presets
 */
export declare const generateColorPresetsVariables: (presets: ThemeSettings["color"]["presets"]) => Record<string, string> | undefined;
/**
 * Generates CSS variables for theme colors
 * @param color - The color settings from theme settings
 * @returns An object with CSS variables for theme colors
 */
export declare const generateColorVariables: (color: ThemeSettings["color"]) => Record<string, string>;
/**
 * Generates CSS variables for typography settings
 * @param options - The options for generating typography variables
 * @param options.prefix - The prefix for the CSS variables
 * @param options.value - The typography settings
 * @param options.breakpoints - The breakpoint configurations
 * @returns An object with CSS variables for typography
 */
export declare const generateTypographyVariables: ({ prefix, value, breakpoints, }: {
    prefix: string;
    value: TypographyType;
    breakpoints: BreakpointConfig[];
}) => Styles;
export declare const generateTypographyPresetsVariables: (presets: ThemeSettings["typography"]["presets"], breakpoints: BreakpointConfig[]) => Styles | undefined;
export declare const generateButtonPresetsVariables: (presets: ThemeSettings["button"]["presets"], breakpoints: BreakpointConfig[]) => Styles | undefined;
export declare const generatePseudoVariables: (callback: (pseudoClass: PseudoClass) => Styles) => Styles;
export declare const generateResponsiveVariables: (breakpoints: BreakpointConfig[], callback: (breakpoint: Breakpoint) => Styles) => Styles;
export declare const generateBreakpointVariables: (breakpoints: BreakpointConfig[]) => Styles;
//# sourceMappingURL=theme.d.ts.map