declare type Styles = string | ((t: T) => string); declare type _Theme = typeof theme; export interface Theme extends _Theme { } export declare type DeepPartialTheme = { [K in keyof T]?: T[K] extends string | number | boolean ? T[K] : DeepPartialTheme; }; export declare type DeepPartialExtend = { [K in keyof P]?: P[K] extends Styles ? Styles : DeepPartialExtend; }; export declare const themable: (t: T, styles?: string | ((t: T) => string) | undefined) => string; /** simplified deep merge */ export declare const mergeTheme: (base: B, partial: P) => B & P; export declare const createTheme: (partial: DeepPartialTheme) => T & Theme; export declare const extendTheme: (theme: T & Theme, extend: DeepPartialExtend; body: Styles; paragraph: Styles; heading: Styles; bold: Styles; table: Styles; tableCell: Styles; list: Styles; listVariant: { ol: Styles; ul: Styles; dl: Styles; nested: Styles; }; link: Styles; headingVariant: { h1: Styles; h2: Styles; h3: Styles; h4: Styles; h5: Styles; h6: Styles; }; container: Styles; row: Styles; column: Styles; blockquote: Styles; button: Styles; buttonVariant: { outline: Styles; clear: Styles; }; code: Styles; pre: Styles; divider: Styles; input: Styles; select: Styles; label: Styles; labelVariant: { inline: Styles; }; textarea: Styles; fieldset: Styles; checkbox: Styles; image: Styles; }>) => T & Theme; export declare const theme: { color: { initial: string; primary: string; secondary: string; tertiary: string; quaternary: string; quinary: string; }; font: { family: string; size: string; weigth: string; letterSpacing: string; lineHeight: string; }; breakpoints: { mobile: string; tablet: string; desktop: string; }; extend: { global: Styles; body: Styles; paragraph: Styles; heading: Styles; bold: Styles; table: Styles; tableCell: Styles; list: Styles; listVariant: { ol: Styles; ul: Styles; dl: Styles; nested: Styles; }; link: Styles; headingVariant: { h1: Styles; h2: Styles; h3: Styles; h4: Styles; h5: Styles; h6: Styles; }; container: Styles; row: Styles; column: Styles; blockquote: Styles; button: Styles; buttonVariant: { outline: Styles; clear: Styles; }; code: Styles; pre: Styles; divider: Styles; input: Styles; select: Styles; label: Styles; labelVariant: { inline: Styles; }; textarea: Styles; fieldset: Styles; checkbox: Styles; image: Styles; }; }; export {}; //# sourceMappingURL=theme.d.ts.map