import type { ControlsConfig, UseControlsAreas } from "./types"; /** * Merges per-area `prepend`/`append` modifier lists into a base `ControlsConfig`. * * Memoizes internally — stable references are returned when neither `base` nor * `areas` has changed. Modifiers are applied via `defineControlStack`, which * filters `undefined` entries and rejects duplicate control ids. * * When `areas` is omitted the `base` reference is returned as-is. * * @example * ```ts * const builtIn = useDefaultControls(api); * const controls = useControls(builtIn, { * navigation: { append: [layerNavControl] }, * settings: { prepend: [layerSettingsControl] }, * }); * ``` */ export declare const useControls: (base: ControlsConfig, areas?: UseControlsAreas) => ControlsConfig;