export interface TokensRaw { [key: string]: string | TokensRaw | TokenMeasure | TokenMeasureAbsolute } declare const dimension: readonly ['none', '3xs', 'xxs', 'xs', 's', 'm', 'l', 'xl', 'xxl', '3xl'] export declare type Dimension = typeof dimension[number] export interface TokenMeasure { value: number unit: 'px' | 'rem' | '%' | 'em' } export interface TokenMeasureAbsolute extends Partial { value: number } export declare type FontWeight = 'normal' | 'medium' | 'bold' export interface FabricsTokensRaw { name: string displayName: string typography: { fontFamily: { std: string alt: string } fontSizeRoot: TokenMeasure color: { std: string selection: string } fontWeight: Record letterSpacing: { s: TokenMeasure m: TokenMeasure l: TokenMeasure } lineHeight: { xs: TokenMeasure | TokenMeasureAbsolute s: TokenMeasure | TokenMeasureAbsolute m: TokenMeasure | TokenMeasureAbsolute l: TokenMeasure | TokenMeasureAbsolute xl: TokenMeasure | TokenMeasureAbsolute } } grid: number space: Record contentWidth: { page: { max: TokenMeasure min: TokenMeasure } } transitions: { medium: string fast: string } border: { radius: { xs: TokenMeasure s: TokenMeasure } width: { s: TokenMeasure m: TokenMeasure } } shadows: { 'drop-0': string 'drop-1': string } dimmer: { light: string dark: string } } export interface FabricsTokens extends Required {} declare type RecursiveToString = A extends { value: number } ? string : A extends string | number ? string : { [k in keyof A]: RecursiveToString } export declare type FabricsVanillaTokens = RecursiveToString export declare const recursiveToString: (ts: O) => RecursiveToString export declare function makeVanillaTokens(tokens: FabricsTokensRaw): FabricsVanillaTokens export interface FabricsTheme { tokens: FabricsTokens tokensClassName: string } export declare function makeFabricsTheme(tokens: FabricsTokens, tokensClassName: string): FabricsTheme export {}