import { type ReactElement } from 'react'; import type { ColorMode, ThemeVariant } from '../../theme'; export interface AppearanceMenuProps { /** Current color mode. */ colorMode: ColorMode; /** Current theme variant. */ themeVariant: ThemeVariant; /** Called with the next color mode. */ onColorModeChange: (mode: ColorMode) => void; /** Called with the next theme variant. */ onThemeChange: (theme: ThemeVariant) => void; /** Diameter of the trigger circle in pixels. */ size?: number; /** Visual shape of the trigger control. */ shape?: 'square' | 'circle'; /** Overlay placement relative to the circle. */ hoverOverlayPlacement?: 'bottom-start' | 'bottom-end'; /** Whether the overlay shows the live theme previews. */ showThemePreviews?: boolean; } /** * A single color-mode circle that reveals, on hover, an appearance overlay * with color-mode controls, theme circles and live theme previews. * * This bundles the {@link ColorModeCircle} trigger together with the * {@link AppearanceControls} overlay so the whole appearance menu can be * dropped into any header with a single component. */ export declare function AppearanceMenu({ colorMode, themeVariant, onColorModeChange, onThemeChange, size, shape, hoverOverlayPlacement, showThemePreviews, }: AppearanceMenuProps): ReactElement; export default AppearanceMenu;