/** * Debug Dashboard — Control Store * * Holds the current value of every INTERACTIVE control (slider / number), * keyed by widget id, as a flat id→value map. This is the back-channel of the * dashboard: a source defines a `slider`/`number` widget (POST /panels), the * viewer renders an editable input, and when the user changes it the viewer * writes the new value here (POST /control). The source then reads its own * values back at its own pace (GET /control). * * Deliberately dumb and generic: the store knows nothing about what a value * MEANS or which source owns it — it is a plain key→value bag. Each source * knows its own ids and picks out what it needs. GeminiPod's barge-in tuning * is just the first consumer; a C# or Python tool would use the exact same API. * * Sibling of panel-store.ts (PanelStore) — same singleton-state pattern. */ export declare class ControlStore { private values; /** * Set a control's value. Returns true if stored, false if rejected * (empty id, non-finite number, or capacity exceeded for a new id). */ set(id: string, value: number | string): boolean; /** Current value of one control, or undefined if never set. */ get(id: string): number | string | undefined; /** The whole store as a flat { id: value } object — this is what GET /control returns. */ getAll(): Record; /** Remove one control (by id) or all (no id). */ clear(id?: string): void; get size(): number; } //# sourceMappingURL=control-store.d.ts.map