import type { GridTypes } from "../../constans"; import type { TmpComponentType } from "../../types/tmp"; export declare enum ControlButtonType { DESKTOP_CONTROL_PANEL_LEFT = "desktop-control-panel-left", DESKTOP_CONTROL_PANEL_RIGHT = "desktop-control-panel-right" } interface BaseButton { id: string; weight: number; disabled?: boolean; } interface BaseInnerButton extends BaseButton { buttonComponent: TmpComponentType; buttonComponentProps?: Record; ariaKeyShortCut?: string; ariaExpanded?: boolean; } interface BaseAdditionalButton extends BaseButton { icon: string; testId?: string; onClick?: () => void; ariaLabel: string; } export interface DesktopControlPanelButton extends BaseInnerButton { type: ControlButtonType.DESKTOP_CONTROL_PANEL_LEFT | ControlButtonType.DESKTOP_CONTROL_PANEL_RIGHT; tooltipEnabled?: boolean; mouseEnter?: () => void; mouseLeave?: () => void; tooltipText?: string; disabledTooltipContent?: string; className?: string; } export interface AdditionalDesktopControlPanelButton extends BaseAdditionalButton { type: ControlButtonType.DESKTOP_CONTROL_PANEL_RIGHT; tooltipText?: string; disabledTooltipContent?: string; hideOnDesktopGridTypes?: GridTypes[]; disableMouseupTooltipShow?: boolean; } export type AdditionalButton = AdditionalDesktopControlPanelButton; export {};