import { 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<string, unknown>;
    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 {};
