/** * Theme — design tokens jako osobna warstwa. * * Na start tylko `dark` mode, ale struktura tokens istnieje od pierwszego dnia — * żeby uniknąć hardcoded hex / pixels w widgetach. Gdy kiedyś dojdzie light * albo per-dealer customization, zmiana to podmiana pliku tokens. */ import type { Observable } from 'rxjs'; export type ThemeName = 'dark' | 'light' | (string & {}); export interface ThemeTokens { readonly color: Readonly>; readonly spacing: Readonly>; readonly radius: Readonly>; readonly typography: Readonly>; readonly elevation: Readonly>; readonly motion: Readonly>; } export interface ThemeService { readonly theme$: Observable; readonly tokens$: Observable; current(): ThemeName; setTheme(name: ThemeName): void; tokens(): ThemeTokens; } export declare const THEME: import("../index.js").EchelonToken; //# sourceMappingURL=index.d.ts.map