import * as CSS from 'csstype'; import type { Base16Theme } from './themes/index.js'; export interface Styling { className?: string; style?: CSS.Properties; } export type StylingValueFunction = (styling: Styling, ...rest: unknown[]) => Partial; export type StylingValue = string | CSS.Properties | StylingValueFunction; export type StylingConfig = { extend?: string | Base16Theme | StylingValue; } & { [name: string]: StylingValue | string | Base16Theme; }; export type Theme = string | Base16Theme | StylingConfig; export type StylingFunction = (keys: (string | false | undefined) | (string | false | undefined)[], ...rest: unknown[]) => Styling;