interface ThemeTypographyVariant {
    readonly size: number;
    readonly line_height: string;
    readonly letter_spacing: number;
    readonly font_weight: number;
}
type ThemeColorPrimitive = Record<string, string>;
interface ThemeColorSemanticSection {
    readonly [token: string]: string | ThemeColorSemanticSection;
}
type ThemeSpacingScale = Record<string, number>;
type ThemeLayoutSizes = Record<string, number>;
type ThemeTypographyCategory = Record<string, ThemeTypographyVariant>;
interface ThemeTokens {
    readonly color: {
        readonly primitive: ThemeColorPrimitive;
        readonly semantic: ThemeColorSemanticSection;
    };
    readonly spacing: {
        readonly padding: ThemeSpacingScale;
        readonly gap: ThemeSpacingScale;
    };
    readonly layout: {
        readonly breakpoint: Record<"xsmall" | "small" | "medium" | "large", number>;
        readonly size: ThemeLayoutSizes;
        readonly radius: {
            readonly size: ThemeLayoutSizes;
            readonly level: ThemeLayoutSizes;
        };
    };
    readonly typography: {
        readonly [category: string]: ThemeTypographyCategory;
    };
}

export type { ThemeColorPrimitive, ThemeColorSemanticSection, ThemeLayoutSizes, ThemeSpacingScale, ThemeTokens, ThemeTypographyCategory, ThemeTypographyVariant };
