import { ThemeTokens, ThemeTypographyCategory } from '../types/theme-tokens.js';

declare const tokens: ThemeTokens;
type ThemeColorPrimitiveKey = keyof typeof tokens.color.primitive;
declare function colorPrimitiveHex(key: ThemeColorPrimitiveKey): string;
declare function colorPrimitiveVar(key: ThemeColorPrimitiveKey): string;
type ThemeSpacingPaddingKey = keyof typeof tokens.spacing.padding;
type ThemeSpacingGapKey = keyof typeof tokens.spacing.gap;
declare function spacingPaddingPx(key: ThemeSpacingPaddingKey): number;
declare function spacingPaddingVar(key: ThemeSpacingPaddingKey): string;
declare function spacingGapPx(key: ThemeSpacingGapKey): number;
declare function spacingGapVar(key: ThemeSpacingGapKey): string;
type ThemeLayoutBreakpointKey = keyof typeof tokens.layout.breakpoint;
type ThemeLayoutSizeKey = keyof typeof tokens.layout.size;
type ThemeLayoutRadiusSizeKey = keyof typeof tokens.layout.radius.size;
type ThemeLayoutRadiusLevelKey = keyof typeof tokens.layout.radius.level;
declare function layoutBreakpointPx(key: ThemeLayoutBreakpointKey): number;
declare function layoutBreakpointVar(key: ThemeLayoutBreakpointKey): string;
declare function layoutSizePx(key: ThemeLayoutSizeKey): number;
declare function layoutSizeVar(key: ThemeLayoutSizeKey): string;
declare function layoutRadiusSizePx(key: ThemeLayoutRadiusSizeKey): number;
declare function layoutRadiusSizeVar(key: ThemeLayoutRadiusSizeKey): string;
declare function layoutRadiusLevelPx(key: ThemeLayoutRadiusLevelKey): number;
declare function layoutRadiusLevelVar(key: ThemeLayoutRadiusLevelKey): string;
type ThemeTypographyCategoryKey = keyof typeof tokens.typography;
declare function typographyVariants(category: ThemeTypographyCategoryKey): ThemeTypographyCategory;

export { type ThemeColorPrimitiveKey, type ThemeLayoutBreakpointKey, type ThemeLayoutRadiusLevelKey, type ThemeLayoutRadiusSizeKey, type ThemeLayoutSizeKey, type ThemeSpacingGapKey, type ThemeSpacingPaddingKey, type ThemeTypographyCategoryKey, colorPrimitiveHex, colorPrimitiveVar, layoutBreakpointPx, layoutBreakpointVar, layoutRadiusLevelPx, layoutRadiusLevelVar, layoutRadiusSizePx, layoutRadiusSizeVar, layoutSizePx, layoutSizeVar, spacingGapPx, spacingGapVar, spacingPaddingPx, spacingPaddingVar, typographyVariants };
