import { type ControlStackItem } from "./defineControlStack"; import type { CategoryKey, ControlsConfig } from "./types"; /** * Input for `composeControlAreas`: a partial record of per-area control stacks. * Omitted areas default to an empty controls array. * `undefined` entries in each area array are filtered out by `defineControlStack`. */ export type ControlAreasInput = Partial>>; /** * Pure function that builds a `ControlsConfig` from per-area control stacks. * * Each area in `areas` is passed through `defineControlStack` (which filters * `undefined` entries and rejects duplicate ids). Omitted areas default to * `{ controls: [] }`. * * @example * ```ts * const controls = composeControlAreas({ * navigation: [builtIn.navigation.zoom, builtIn.navigation.fullscreen], * settings: [builtIn.settings.mapStyle], * }); * ``` */ export declare const composeControlAreas: (areas: ControlAreasInput) => ControlsConfig;