import type { ChartType } from './widget-render-contract.js'; /** * The settings keys each chart type's persistence schema accepts. * * Unknown keys are stripped silently on save, at every level, so a widget written with * `settings.number.format` is created, reports success, and renders the default appearance. A model * whose cached tool docs predate a deploy therefore cannot discover a setting by trying one: * measured on a live board (Sonnet, board `b383b41c`), a capable model guessed eight key names for * features that all exist under other names — `format` for `showAsPercentage`, `numerator` for * `numeratorQueryName`, `decimals` for `decimalLimit`, `thresholds` for the threshold keys — had * every guess correctly reported as dropped, and concluded from that the capability does not exist. * Tool descriptions and instructions are cached for a session's whole life, so the write-path * response is the only channel that reaches a session already running: these names live here so the * response can name them. * * SOURCE OF TRUTH: dashboard-service `src/commands/widget/types.ts`, which is what actually decides * whether a key survives a save. Transcribed, so this table can only be as current as this server * version — every note built from it says so rather than claiming the API accepts nothing else. * `widget-settings-keys.test.ts` fails if a chart type is added to `CHART_TYPES` without a decision * here. */ export declare const WIDGET_SETTINGS_KEYS: Readonly>>; /** * Chart types whose settings block the service stores as an arbitrary record. * * `status` has no key schema at all, so nothing sent under it is ever dropped for being unknown and * there is no list to offer. A note must not invent one: telling a caller its `status` key is * invalid, when the service accepts any key, sends it looking for a spelling mistake that is not * there. */ export declare const FREE_FORM_SETTINGS_CHART_TYPES: ReadonlySet; /** Threshold keys, which colour a chart by value rather than configuring its appearance. */ export declare const THRESHOLD_SETTINGS_KEYS: readonly string[]; /** The comparison a threshold applies, from the same service schema. */ export declare const THRESHOLD_LIMIT_CONDITIONS: readonly string[]; /** * The object a threshold key takes. * * Built from `THRESHOLD_LIMIT_CONDITIONS` rather than written out, so the prose cannot drift from * the list a caller is told to choose from. Sub-keys are stripped on the same rules as top-level * ones — `error: {above: 0}` persists as `error: {}`, a stored threshold that colours nothing. */ export declare const THRESHOLD_SETTINGS_SHAPE: string; /** * The keys this server knows a chart type accepts, or `undefined` when it has nothing to say. * * `undefined` covers both an unrecognised chart type and a free-form one, because the caller-facing * consequence is the same: no list to publish. */ export declare function settingsKeysFor(chartType: string): readonly string[] | undefined; //# sourceMappingURL=widget-settings-keys.d.ts.map