import { ThemeMode, ColorPalette, TableDensity } from '../types'; declare global { interface ImportMetaEnv { readonly VITE_API_PREFIX?: string; } interface ImportMeta { readonly env: ImportMetaEnv; } } export interface SettingsState { serverHost: string; serverPort: number; requestTimeout: number; wsAutoReconnect: boolean; wsReconnectInterval: number; theme: ThemeMode; colorPalette: ColorPalette; tableDensity: TableDensity; } export declare const colorPalettes: Record; /** * Custom properties a non-default palette overrides on ``. * * The saturation/lightness pairs are lifted from the original indigo/orange * tokens in `styles/variables.css` so only the hue moves; the `default` * palette writes nothing at all and the stylesheet values stand. */ export declare const PALETTE_CSS_VARIABLES: readonly ["--color-primary", "--color-primary-hover", "--color-primary-soft", "--color-cta", "--color-cta-hover"]; /** Build the `` custom-property overrides for a palette. */ export declare function paletteCssVariables(palette: ColorPalette): Record; /** Map a table density onto the `size` prop shared by the SDK table components. */ export declare function tableDensityToSize(density: TableDensity): 'sm' | 'md' | 'lg'; export declare const useSettingsStore: import('pinia').SetupStoreDefinition<"mint-settings", { serverHost: import('vue').Ref; serverPort: import('vue').Ref; requestTimeout: import('vue').Ref; wsAutoReconnect: import('vue').Ref; wsReconnectInterval: import('vue').Ref; theme: import('vue').Ref; systemPrefersDark: import('vue').Ref; colorPalette: import('vue').Ref; tableDensity: import('vue').Ref; initialize: () => void; applyTheme: () => void; applyPalette: () => void; applyDensity: () => void; persistSettings: () => void; resetToDefaults: () => void; getPaletteHues: () => [number, number]; getTableSize: () => "sm" | "md" | "lg"; isDark: () => boolean; getApiBaseUrl: () => string; getWsBaseUrl: () => string; }>; /** * Read the settings store without requiring Pinia to be installed. * * SDK components are mounted standalone (unit tests, Histoire stories, plugin * previews) where no Pinia instance exists. They use this to pick up a user's * preferences when the platform is running and fall back to their own defaults * otherwise, instead of throwing. */ export declare function tryUseSettingsStore(): ReturnType | null;