import * as React from "react"; import { CustomizeResult } from "./resolve_theme"; interface Colors { primary?: string; creative?: string; primaryText?: string; lightText?: string; darkText?: string; disabledBackground?: string; inactiveBackground?: string; linkText?: string; lightBlue?: string; purple?: string; pink?: string; orange?: string; grey?: string; greyDark?: string; greyLight?: string; greyExtraLight?: string; blue?: string; red?: string; green2?: string; green?: string; black?: string; white?: string; silver?: string; secondary?: string; secondaryText?: string; disabledCta?: string; backgroundDark?: string; backgroundLight?: string; overlayDark?: string; text?: string; textLight?: string; textDark?: string; textError?: string; textLink?: string; textSubheader?: string; border?: string; borderActive?: string; borderError?: string; greyLightMode6?: string; greyLightMode7?: string; } type RhythmFunction = (value: number) => string; type MsFunction = (value: number) => string; interface OverrideContext { rhythm: RhythmFunction; ms: MsFunction; colors: Colors; fontBaseLineHeight: number; } export interface ThemeInfo { fontBaseSize: number; fontBaseLineHeight: number; fontScaleRatio: number; colors: Colors; appTitle: string; appLogo?: string; favicon?: string; hideSections?: { home?: boolean; nft?: boolean; spaces?: boolean; customer?: boolean; appSwitcher?: boolean; businessSearch?: boolean; }; shadeColor: (color: string, percent: number) => string | undefined; } export interface ThemeDef extends ThemeInfo { customize?(context: OverrideContext): Partial; shadeColor: (color: string, percent: number) => string | undefined; } export interface ThemeResult extends ThemeInfo { components: CustomizeResult; rhythm: RhythmFunction; ms: MsFunction; } declare const ThemeContext: React.Context; export default ThemeContext;