import type { Component } from "svelte"; export interface RouterAdapter { replaceState?: (url: string) => void; pushState?: (url: string) => void; } /** * An extra hotkey that opens a palette at a specific section (C24). */ export interface PaletteSectionHotkey { hotkey: string; section: string; /** Used for the shortcut's own label, e.g. "Open Shortcuts". */ title: string; } export interface PaletteDefinition { id: string; title: string; hotkey?: string; provider?: () => unknown; renderer?: Component; onSelect?: (item: unknown) => void; boxClass?: string; sectionHotkeys?: PaletteSectionHotkey[]; } export declare class PaletteRegistryStore { palettes: PaletteDefinition[]; activePaletteId: string | null; activeSectionId: string; router?: RouterAdapter; constructor(config?: { router?: RouterAdapter; }); register(palette: PaletteDefinition): void; unregister(id: string): void; open(id: string, section?: string): void; setSection(sectionId: string): void; close(): void; } export declare function createPaletteRegistryStore(config?: { router?: RouterAdapter; }): PaletteRegistryStore;