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;