import React from 'react'; import { useTheme } from '@emotion/react'; import type Color from '../Color'; export { useTheme }; export * from './createTheme'; export type UITheme = Required> & { readonly isDark: boolean; readonly fontSize: Record; readonly zIndex: Required; readonly color: Record; readonly shape: Required; }; export interface UIThemeOverrideColor { readonly backgroundPrimary?: string; readonly backgroundSecondary?: string; readonly surface?: string; readonly textPrimary?: string; readonly textSecondary?: string; readonly accentPrimary?: string; readonly accentPrimaryContrast?: string; readonly accentSecondary?: string; readonly accentSecondaryContrast?: string; readonly error?: string; readonly errorContrast?: string; readonly warning?: string; readonly warningContrast?: string; readonly success?: string; readonly successContrast?: string; } export interface UIThemeOverrideZIndex { readonly header?: number; readonly modal?: number; } export interface UIThemeOverrideShape { readonly radiusFactor?: 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1; } export interface UIThemeOverrideFontSize { readonly small?: number; readonly normal?: number; readonly medium?: number; readonly large?: number; } export interface UIThemeOverrides { readonly isDark: boolean; readonly fontSize?: UIThemeOverrideFontSize; readonly zIndex?: UIThemeOverrideZIndex; readonly shape?: UIThemeOverrideShape; readonly color?: UIThemeOverrideColor; } declare const ThemeProvider: React.FC; export type CreateTheme = (overrides?: UIThemeOverrides) => UITheme; export interface ThemeProviderProps { readonly children: React.ReactNode | readonly React.ReactNode[]; readonly theme: UITheme; } export default ThemeProvider;