import type { PropType } from 'vue'; import type { TThemeOverride } from '../../theme/utils'; /** * Props for `` — root component that injects design tokens for a subtree. * * ## When to use * * Wrap any subtree that needs a different brand color than the library default * (Toku purple). Typical placements: * * - **App root**: matches one brand for the entire app (e.g. Toku's webapp uses defaults). * - **Per-tenant subtree**: multi-tenant white-label apps inject the tenant's brand * per request (e.g. payment-portal-frontend wraps each tenant's view). * * Without a ``, components render with the default brand from * `toku-ui/tokens.css`. With one, the wrapped subtree gets a regenerated brand ramp. * * ## Basic usage * * ```vue * * * * ``` * * ## How it works * * The provider renders a `
` wrapper with the brand-derived CSS * variables set inline. Descendant components reading `var(--color-bg-primary-default)` * (and every other brand-derived semantic) resolve to the new brand color via standard * CSS-variable cascade. **Zero Vue re-renders** — only browser CSS recalc. */ export interface TThemeProviderProps { /** * Theme override. Pass `{ colors: { brand: { base: '#hex' } } }` (canonical) or the * legacy `{ colors: { primary: { main: '#hex' } } }` shape. Both regenerate the * 12-step brand ramp + alpha twin and propagate via CSS variables to descendants. * * Omit the prop entirely to use the library defaults (Toku purple). * * @example * ```vue * * * * * ``` */ theme?: TThemeOverride; } export declare const TThemeProvider: import("vue").DefineComponent; default: () => {}; }; }>, () => import("vue").VNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; default: () => {}; }; }>> & Readonly<{}>, { theme: TThemeOverride | undefined; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; //# sourceMappingURL=TThemeProvider.d.ts.map