/** * Static registry of SDK capabilities, reported to the Lightdash host via the * `lightdash:sdk:manifest` message so the host can detect apps built on an * older SDK and offer an upgrade. * * Adding an SDK capability requires an entry here — features.test.ts fails if * a `lightdash:*:available` message exists without a matching key. Keys are * stable identifiers; label/description feed the host's "What's new" UI. */ export type SdkFeature = { key: string; label: string; description: string; /** Agent-facing note on the app-code wiring the feature needs before the * host can use it (absent = zero wiring; it activates automatically once * the bundle runs on a current SDK). Never rendered in user-facing UI. */ wiring?: string; }; export declare const SDK_FEATURES: SdkFeature[]; export declare const SDK_FEATURE_KEYS: string[]; export declare const SDK_MANIFEST_MESSAGE_TYPE = "lightdash:sdk:manifest"; /** * Sent from the app iframe to the Lightdash host: once when the postMessage * transport is created, and again each time the host announces * `lightdash:sdk:ready` (covers either side mounting first). */ export type SdkManifestMessage = { type: typeof SDK_MANIFEST_MESSAGE_TYPE; sdkVersion: string; features: string[]; };