import { type ComputedRef } from '#imports';
type UseBlokkliRuntimeConfig = {
/**
* Resolve a canonical color id to its current hex.
*
* Reads `app.config.blokkli.colorOptions` first; if the id is missing,
* disabled (null override on the id itself or its ``), or null
* /undefined to begin with, cascades through `colorPalette` in order
* and returns the first that resolves. Falls back to `FALLBACK_HEX`
* only when every palette entry is also gone.
*/
resolveColorHex: (id: string | null | undefined) => string;
/**
* Ordered canonical color ids with disabled entries already filtered
* out — a `: null` family-disable drops `.`,
* a direct `: null` drops that id. Cycle through this for default
* color assignment (e.g. dynamic chart series).
*/
colorPalette: ComputedRef;
};
/**
* Runtime-only config surface for userland and integrator components
* (chart renderers, custom blocks, …) outside the editor.
*
* Sources:
* - `app.config.blokkli.colorOptions` — flat `Record`
* seeded by the module with every canonical id (bare for flat colors,
* `.` for ramped colors) at its build-time hex. `null`
* disables. The bare `` is kept for ramped colors so userland
* can family-disable with `: null`. This is the user-overridable
* surface — `updateAppConfig` deep-merges into it.
* - `#blokkli-build/config` → `colorPalette` — ordered canonical ids
* (one per declared family — flat ids verbatim, ramped ids as
* `.`). Build-time static data, NOT in appConfig
* because it's not userland-overridable. Used as the cascading
* fallback for unresolved ids.
*
* Returns:
* - `resolveColorHex(id)` — flat lookup. If the requested id is missing
* or disabled, cascade through the enabled palette in order and return
* the first one that resolves. If even that yields nothing, return
* `FALLBACK_HEX`.
* - `colorPalette` — computed ordered canonical ids with disabled
* entries already filtered out (a `: null` family-disable drops
* `.`; a direct `: null` drops that id). Userland
* can cycle through this directly to assign default colors — no need
* to second-guess which ids are still live.
*/
export declare function useBlokkliRuntimeConfig(): UseBlokkliRuntimeConfig;
export {};