type MapInstance = any; interface IControl { onAdd(map: MapInstance): HTMLElement; onRemove(map: MapInstance): void; } interface StyleItem { id: string; name: string; image: string; styleUrl: string; description?: string; } interface StyleSwitcherControlOptions { styles: StyleItem[]; activeStyleId?: string; onBeforeStyleChange?: (from: StyleItem, to: StyleItem) => void; onAfterStyleChange?: (from: StyleItem, to: StyleItem) => void; showLabels?: boolean; showImages?: boolean; animationDuration?: number; maxHeight?: number; theme?: 'light' | 'dark' | 'auto'; design?: 'default' | 'outlined'; classNames?: Partial; rtl?: boolean; } interface StyleSwitcherClassNames { container: string; list: string; item: string; itemSelected: string; itemHideLabel: string; dark: string; light: string; outlined: string; } declare class StyleSwitcherControl implements IControl { private _container; private _options; private _activeStyleId; private _expanded; private _classNames; private _mediaQuery; private _mediaQueryHandler; private _focusedIndex; private _suppressFocusExpand; constructor(options: StyleSwitcherControlOptions); onAdd(_map: MapInstance): HTMLElement; private _applyTheme; private _applyDesign; /** * Update control options after it has been added to the map. * Only the supplied keys are merged; omitted keys are unchanged. */ updateOptions(updates: Partial): void; private _resolveActiveStyleIdAfterUpdate; onRemove(): void; private _setExpanded; private _handleKeyDown; private _updateFocus; private _handleStyleChange; private _render; private _createStyleItem; } export { StyleSwitcherControl as a }; export type { IControl as I, StyleSwitcherControlOptions as S, StyleItem as b, StyleSwitcherClassNames as c };