import { type Readable, type Writable } from 'svelte/store'; import { type FormatFunctions } from '@layerstack/utils/format'; import { type LocaleSettings, type LocaleStore, type LocaleSettingsInput } from '@layerstack/utils/locale'; import { type ThemeStore } from '@layerstack/svelte-stores'; import { type ComponentName, type ComponentSettings, type ResolvedComponentSettings } from './theme.js'; import type { LabelPlacement } from '../types/index.js'; export interface DefaultProps { labelPlacement: LabelPlacement; } export type SettingsInput = { /** Force a specific locale setting. */ forceLocale?: string; /** Use this locale in case we don't have locale info for the user's current locale as returned from Intl. * Defaults to `en` if not specified. */ fallbackLocale?: string; /** Format information for additional locales that are not built-in to svelte-ux. */ localeFormats?: Record; components?: ComponentSettings; /** A list of the available themes */ themes?: { light?: string[]; dark?: string[]; }; currentTheme?: ThemeStore; /** The existing locale store, if calling settings when there is already an existing `Settings` object */ locale?: LocaleStore; /** The existing locale store, if calling settings when there is already an existing `Settings` object */ localeSettings?: Readable; /** The existing locale store, if calling settings when there is already an existing `Settings` object */ format?: Readable; }; export interface Settings extends Omit { /** The currently selected locale */ locale: LocaleStore; /** The settings for the currently selected locale */ localeSettings: Readable; /** Formatting functions and information */ format: Readable; currentTheme: ThemeStore; showDrawer: Writable; componentSettingsCache: Partial>>; } export declare function settings(settings?: SettingsInput): Settings; export declare function getSettings(): Settings; export declare function resolveComponentSettings(settings: Settings, name: NAME): ResolvedComponentSettings; /** * Returns default component props and classes for a given component. * @param name component name */ export declare function getComponentSettings(name: NAME): ResolvedComponentSettings;