export interface TypographyVariantBase { fontSize: string; lineHeight: string; letterSpacing: string; fontStyle?: string; fontFamily?: string; defaultFontWeight?: TypographyFontWeight; tag: keyof HTMLElementTagNameMap; } export type TypographyVariantOptions = Record>; /** @deprecated Weight options are now fixed; this is kept for type compatibility. */ export type TypographyVariantWeightsOptions = Record; export interface TypographyVariantConfig { fontFamily: string; fontSize: string; fontWeight: string; fontStyle: string; lineHeight: string; letterSpacing: string; tag: keyof HTMLElementTagNameMap; } export declare const defaultVariantOptions: { readonly display: { readonly l: { readonly fontSize: "42px"; readonly lineHeight: "48px"; readonly letterSpacing: "-0.014em"; readonly tag: "h1"; }; readonly s: { readonly fontSize: "36px"; readonly lineHeight: "44px"; readonly letterSpacing: "-0.013em"; readonly tag: "h1"; }; }; readonly heading: { readonly l: { readonly fontSize: "32px"; readonly lineHeight: "40px"; readonly letterSpacing: "-0.01em"; readonly tag: "h2"; }; readonly m: { readonly fontSize: "28px"; readonly lineHeight: "36px"; readonly letterSpacing: "-0.009em"; readonly tag: "h2"; }; readonly s: { readonly fontSize: "24px"; readonly lineHeight: "30px"; readonly letterSpacing: "-0.01em"; readonly tag: "h2"; }; }; readonly title: { readonly l: { readonly fontSize: "22px"; readonly lineHeight: "32px"; readonly letterSpacing: "-0.01em"; readonly tag: "h3"; }; readonly m: { readonly fontSize: "20px"; readonly lineHeight: "30px"; readonly letterSpacing: "-0.009em"; readonly tag: "h3"; }; readonly s: { readonly fontSize: "18px"; readonly lineHeight: "28px"; readonly letterSpacing: "0"; readonly tag: "h3"; }; }; readonly body: { readonly l: { readonly fontSize: "16px"; readonly lineHeight: "24px"; readonly letterSpacing: "0.004em"; readonly tag: "p"; }; readonly m: { readonly fontSize: "14px"; readonly lineHeight: "21px"; readonly letterSpacing: "0.006em"; readonly tag: "p"; }; readonly s: { readonly fontSize: "12px"; readonly lineHeight: "16px"; readonly letterSpacing: "0.008em"; readonly tag: "p"; }; }; }; declare const weightOrder: readonly ["", "thin", "extra-light", "light", "normal", "medium", "semi-bold", "bold", "extra-bold", "black"]; export type TypographyFontWeight = (typeof weightOrder)[number]; type VariantWeights = typeof weightOrder; type WeightSuffix = W extends string ? (W extends '' ? '' : `-${W}`) : ''; type VariantCategories = Options; export type TypographyVariantFromOptions = { [Category in keyof VariantCategories]: { [Size in keyof VariantCategories[Category]]: `${string & Category}-${string & Size}${WeightSuffix}`; }[keyof VariantCategories[Category]]; }[keyof VariantCategories]; export type TypographyDefaultVariant = TypographyVariantFromOptions; export type TypographyVariant = TypographyDefaultVariant | (string & {}); export declare function mergeVariantOptions(variantOptions?: TypographyVariantOptions): TypographyVariantOptions; export declare const variantToCssVars: Record; export declare function getVariantCssVars(variant: TypographyVariant | undefined, baseVars: Record, fontFamilyVariant: string, variantOptions?: TypographyVariantOptions): Record; export declare function getVariantTag(variant: TypographyVariant, variantOptions?: TypographyVariantOptions): keyof HTMLElementTagNameMap; export {};