import type { PersistenceDriver } from "../ports/persistence.js"; export type ConfigStore = { current: T[K]; available: T[]; set(id: T[K]): void; get(id: T[K]): T | undefined; getProp

(prop: P, id?: T[K]): T[P] | undefined; addItems(newItems: T[]): void; onChange: (cb: (newId: T[K], oldId: T[K]) => void) => () => void; setDriver: (driver: PersistenceDriver) => void; }; export interface ConfigStoreOptions { items: readonly T[]; storageKey: string; displayName: string; idKey: K; icon?: string; driver?: PersistenceDriver; } export declare class ConfigStoreImpl { #private; current: T[K]; available: T[]; constructor(options: ConfigStoreOptions); setDriver(driver: PersistenceDriver): void; set(id: T[K]): void; onChange(cb: (newId: T[K], oldId: T[K]) => void): () => void; get(id: T[K]): T | undefined; getProp

(prop: P, id?: T[K]): T[P] | undefined; addItems(newItems: T[]): void; }