import type { MenuControlConfig } from "../controls/types"; import { type UseMapAppearanceControlsParams } from "./appearanceTypes"; /** * Hook that returns `ControlConfig[]` for the map appearance settings area. * * Manages appearance state (theme, map type, roads toggle) using `useLocalStorageReducer` * with Zod schema validation. Bidirectionally syncs with the adapter's * `api.state.appearance` so external changes (e.g. from Storybook controls) * are reflected in the UI and localStorage. * * Returns an array with a single `MenuControlConfig` that contains: * - A custom item with a grid of live tiny map previews * - A toggle item for roads overlay (when satellite/hybrid is selected) * * @example * ```tsx * const appearanceControls = useMapAppearanceControls({ api }); * * const controlsConfig: ControlsConfig = { * navigation: { controls: navigationControls }, * settings: { controls: appearanceControls }, * tools: { controls: [] }, * statistics: { controls: [] }, * }; * * * ``` */ export declare const useMapAppearanceControls: ({ api, options: appearanceOptions, persistenceKey, }: UseMapAppearanceControlsParams) => ReadonlyArray;