export declare enum BreakpointLabel { Narrow = "narrow", Medium = "medium", Wide = "wide" } export type Breakpoints = { [key in BreakpointLabel]: number; }; export type Sizing = { Size1: number; Size2: number; Size3: number; Size4: number; Size5: number; Size6: number; Size7: number; Size8: number; Size10: number; Size12: number; Size13: number; Size14: number; Size16: number; Size18: number; Size20: number; Size24: number; Size27: number; Size28: number; Size30: number; Size32: number; Size34: number; Size35: number; Size39: number; Size43: number; Size50: number; Size64: number; Size05: number; Size15: number; Size025: number; Size25: number; }; type BorderRadius = { BorderRadiusNone: number; BorderRadiusXs: number; BorderRadiusSm: number; BorderRadiusMd: number; BorderRadiusLg: number; BorderRadiusXl: number; BorderRadiusXxl: number; BorderRadiusXxxl: number; BorderRadiusRounded: number; }; type FontStyle = { fontSize: string; lineHeight: string; fontWeight: number; }; export type TypographySize = { display1: FontStyle; display2: FontStyle; display3: FontStyle; heading1: FontStyle; heading2: FontStyle; heading3: FontStyle; subHeading1: FontStyle; subHeading2: FontStyle; subHeading3: FontStyle; body1: FontStyle; body2: FontStyle; body3: FontStyle; body4: FontStyle; body5: FontStyle; message: FontStyle; overline: FontStyle; label: FontStyle; link1: FontStyle; link2: FontStyle; link3: FontStyle; digits1: FontStyle; digits2: FontStyle; digits3: FontStyle; }; export type Typography = { wide: TypographySize; medium: TypographySize; narrow: TypographySize; fontFamily: string; lineHeight: string; body1: FontStyle; body2: FontStyle; }; export type ColorShades = { 100?: string; 200?: string; 300?: string; 400?: string; 500?: string; 600?: string; 700?: string; 800?: string; 900?: string; black?: string; white?: string; }; type ColorLayer = { textColor: string; backgroundColor: string; borderColor: string; ringColor?: string; active: ColorShades; checked?: string; default?: string; border?: string; onsurface: string; generic?: string; disabled?: string; surface?: string; hover?: string; pressed?: string; focus?: string; info?: string; success?: string; error?: string; empty?: string; }; type ColorState = { active: ColorLayer; hover: ColorLayer; pressed: ColorLayer; focussed: ColorLayer; disabled: ColorLayer; link: ColorLayer; surface: ColorLayer; success: ColorLayer; error: ColorLayer; onsurface: ColorLayer; warning: ColorLayer; generic?: ColorLayer; hollow?: ColorLayer; info?: ColorLayer; utility?: ColorLayer; icon?: ColorLayer; default?: ColorLayer; selected?: ColorLayer; border?: ColorLayer; tertiary?: string; copy?: string; "copy-dark"?: string; "border-light"?: string; primary?: string; progress?: ColorLayer; }; export type ColorMode = { primary: ColorState; secondary: ColorState; tertiary: ColorState; destructive: ColorState; success: ColorState; warning: ColorState; danger: ColorState; info: ColorState; onsurface: ColorState; surface: ColorState; inputs: ColorState; interactive: ColorState; status: ColorState; brandon: ColorState; }; export type ColorModes = { light: ColorMode; dark: ColorMode; }; export type ColorGroup = "red" | "orange" | "yellow" | "green" | "blue" | "purple" | "sky" | "gray"; type AllColors = { red: ColorShades; orange: ColorShades; yellow: ColorShades; green: ColorShades; blue: ColorShades; purple: ColorShades; sky: ColorShades; gray: ColorShades; }; type Mode = "light" | "dark"; type Button = { padding: { verPadding: number; horPadding: number; }; gap: number; radius: number; }; type Input = { suffixPrefixHorPadding: number; suffixPrefixVerPadding: number; }; type Badge = { "ver-padding": number; "left-padding": number; "right-padding": number; radius: number; }; type CommonContainer = { "ver-padding": number; "hor-padding": number; radius: number; gap: number; }; type Popover = CommonContainer; type Row = CommonContainer; type TableCell = { surface: string; hover: string; pressed: string; }; export type Components = { button: Button; utilityButton: Button; iconButton: Button; input: Input; row: Row; badge: Badge; popover: Popover; tableCell: TableCell; }; type Motion = { instant: string; veryfast: string; fast: string; medium: string; slow: string; }; type Shadows = { general: { "1": string; "2": string; "3": string; }; actions: { "1": string; "2": string; }; inputs: { "1": string; }; }; interface ConvenienceFunctions { getStatusColor: (colors: ColorMode, status: string) => string; } export interface BaseTokens extends ConvenienceFunctions { breakpoints: Breakpoints; sizing: Sizing; borderRadius: BorderRadius; typography: Typography; allColors: AllColors; components: Components; motion: Motion; shadows: Shadows; } export interface GenesisTheme extends BaseTokens { colors: ColorMode; mode: Mode; } export {};