import { LucideIcon } from 'lucide-react'; /** A theme choice offered by {@link SettingsPanel}. */ export interface ISettingsThemeOption { id: T; label: string; icon: LucideIcon; } /** * The themes bundled in the library stylesheet, with their full labels. * Derived from the theme registry, so a new bundled theme appears here without * a code change. */ export declare const DEFAULT_SETTINGS_THEMES: ISettingsThemeOption[]; export interface SettingsPanelProps { /** Currently selected theme id. */ theme: T; /** Called with the newly selected theme id. */ onThemeChange: (theme: T) => void; /** Theme choices to offer. Defaults to every bundled theme. */ themes?: ISettingsThemeOption[]; /** Extra classes merged onto the root element. */ className?: string; } /** * Sidebar body for the Settings panel: a vertical list of theme choices. * * Split out of {@link SidebarPane} so the pane stays a generic container. Pass * this (or your own component) as the sidebar's `children`. * * @example * ```tsx * * * * ``` */ export declare const SettingsPanel: ({ theme, onThemeChange, themes, className, }: SettingsPanelProps) => import("react/jsx-runtime").JSX.Element;