// import { CSSObject } from '@janribkaui/styled-engine'; // import { Breakpoints, BreakpointsOptions } from '../createBreakpoints/createBreakpoints'; // import { Shape, ShapeOptions } from './shape'; // import { Spacing, SpacingOptions } from './createSpacing'; // import { SxConfig, SxProps } from '../styleFunctionSx'; // import { ApplyStyles } from './applyStyles'; // import { CssContainerQueries } from '../cssContainerQueries'; export { Breakpoint, Breakpoints, BreakpointOverrides, } from '../createBreakpoints/createBreakpoints'; export type Direction = 'ltr' | 'rtl'; export interface ThemeOptions { // shape?: ShapeOptions; // breakpoints?: BreakpointsOptions; direction?: Direction; // mixins?: unknown; palette?: Record; // shadows?: unknown; // spacing?: SpacingOptions; transitions?: unknown; // components?: Record; // typography?: unknown; // zIndex?: Record; // unstable_sxConfig?: SxConfig; } // export interface Theme extends CssContainerQueries { export interface Theme { // shape: Shape; // breakpoints: Breakpoints; direction: Direction; palette: Record & { mode: 'light' | 'dark' }; shadows?: unknown; // spacing: Spacing; transitions?: unknown; // components?: Record; mixins?: unknown; // typography?: unknown; // zIndex?: unknown; // applyStyles: ApplyStyles<'light' | 'dark'>; // unstable_sxConfig: SxConfig; // unstable_sx: (props: SxProps) => CSSObject; } /** * Generate a theme base on the options received. * @param options Takes an incomplete theme object and adds the missing parts. * @param args Deep merge the arguments with the about to be returned theme. * @returns A complete, ready-to-use theme object. */ export default function createTheme(options?: ThemeOptions, ...args: object[]): Theme;