import type { PropsWithChildren } from 'react'; export type ThemeColors = { /** Main brand color: buttons, active states, selections. */ primary: string; /** Accent color for secondary actions. */ secondary: string; background: string; /** Slightly elevated surfaces: cards, sheets, segmented controls. */ surface: string; text: string; textMuted: string; border: string; disabled: string; success: string; warning: string; error: string; info: string; /** Backdrop behind modals, sheets and dialogs. */ overlay: string; }; export type ThemeRadius = { sm: number; md: number; lg: number; full: number; }; export type ThemeSpacing = { xs: number; sm: number; md: number; lg: number; xl: number; }; export type ThemeTypography = { fontFamily?: string; sizes: { xs: number; sm: number; md: number; lg: number; xl: number; }; weights: { regular: '400'; medium: '500' | '600'; bold: '700' | '800'; }; }; export type Theme = { colors: ThemeColors; radius: ThemeRadius; spacing: ThemeSpacing; typography: ThemeTypography; }; /** Every field optional, at any depth, for `ThemeProvider` and `createTheme`. */ export type PartialTheme = { colors?: Partial; radius?: Partial; spacing?: Partial; typography?: { fontFamily?: string; sizes?: Partial; weights?: Partial; }; }; export declare const defaultTheme: Theme; /** Merges `overrides` on top of `base` (defaults to `defaultTheme`). */ export declare const createTheme: (overrides?: PartialTheme, base?: Theme) => Theme; export declare const darkTheme: Theme; type Props = PropsWithChildren<{ /** Full theme or partial overrides. Nested providers extend the parent theme. */ theme?: PartialTheme; }>; /** * Provides design tokens to every rn-inkpad component. Optional: without a * provider components fall back to `defaultTheme`. */ export declare const ThemeProvider: ({ theme, children }: Props) => import("react").JSX.Element; /** Current theme tokens (`defaultTheme` when no provider is mounted). */ export declare const useTheme: () => Theme; export {}; //# sourceMappingURL=ThemeProvider.d.ts.map