import * as React from "react"; import { type Breakpoints, type BreakpointsInput } from "./createBreakpoints"; import { type Colors, type ColorsInput } from "./createColors"; import { type Mixins } from "./createMixins"; import { type Radius } from "./createRadius"; import { type Spacings, type SpacingsInput } from "./createSpacings"; import { type Typography, type TypographyInput } from "./createTypography"; import { type ZIndexes } from "./createZIndexes"; import { type Swatches } from "./swatches"; export declare type Direction = "ltr" | "rtl"; export interface ThemeInput { breakpoints: BreakpointsInput; colors: ColorsInput; typography: TypographyInput; mixins: Partial; spacings: SpacingsInput; zIndexes: Partial; direction: Direction; darkMode: boolean; } export interface ThemeBase { mixins: ThemeInput["mixins"] & Mixins; zIndexes: ThemeInput["zIndexes"] & ZIndexes; spacings: Spacings; radius: Radius; breakpoints: Breakpoints; direction: Direction; colors: Colors; typography: Typography; darkMode: boolean; swatches: Swatches; hacks: { safariTransitionRadiusOverflowCombinationFix: React.CSSProperties; backfaceVisibilityFix: React.CSSProperties; }; } declare const createTheme: (themeInput?: (Partial & { custom?: CustomProps | ((theme: ThemeBase) => CustomProps) | undefined; }) | undefined) => ThemeBase & { custom: CustomProps; }; export declare type Theme = ReturnType; export default createTheme;