import * as React from 'react';
import { ButtonProps as MuiButtonProps } from '@mui/material/Button';
import { ButtonProps } from './Button';
import { PopoverProps } from '../popover';
import { ListItemButtonProps } from '../list';
export declare const buttonWithActionsOptionsPlacements: readonly ["top", "bottom"];
type ButtonWithActionsOptionsPlacement = (typeof buttonWithActionsOptionsPlacements)[number];
export type ButtonWithActionsProps = ButtonProps & Pick<PopoverProps, 'anchorHorizontalOrigin' | 'horizontalAlign'> & {
    /**
     * The options to show in button submenu
     */
    actions: Pick<ListItemButtonProps, 'onClick' | 'text' | 'disabled' | 'startIconId'>[];
    /**
     * Manage if options menu is open or not
     */
    isOpen?: boolean;
    /**
     * Placement of options popover
     */
    optionsPlacement?: ButtonWithActionsOptionsPlacement;
    /**
     * Called when the options popover is closed by Escape key, Tab key or click outside.
     */
    onClose?: (reason: 'backdropClick' | 'escapeKeyDown' | 'tabKeyDown') => void;
    /**
     * Called when the options submenu is clicked.
     */
    onClickOptionsMenu?: React.MouseEventHandler<HTMLButtonElement>;
};
/**
 * A component that groups multiple buttons.
 * All supported children types of this component are: Button, IconButton, MenuButton or MenuIconButton.
 */
declare const ButtonWithActions: React.ForwardRefExoticComponent<Pick<MuiButtonProps, "id" | "className" | "aria-controls" | "aria-expanded" | "aria-haspopup" | "sx" | "disabled" | "type" | "onClick" | "onMouseEnter" | "onMouseLeave"> & {
    variant?: "text" | "outlined" | "contained";
    color?: "inherit" | "white" | "primary" | "warning";
    size?: "M" | "L" | "XL";
    component?: "label" | "button";
    text: string;
    iconId?: import("../icon").IconId;
    icon?: React.ReactNode;
    iconSize?: import("../icon/Icon").IconSize;
    iconEnd?: boolean;
    badgeText?: string;
    badgeLeft?: boolean;
    children?: React.ReactElement<"input">;
    link?: React.ElementType;
    'data-testid'?: string;
} & Pick<PopoverProps, "horizontalAlign" | "anchorHorizontalOrigin"> & {
    /**
     * The options to show in button submenu
     */
    actions: Pick<ListItemButtonProps, "onClick" | "text" | "disabled" | "startIconId">[];
    /**
     * Manage if options menu is open or not
     */
    isOpen?: boolean;
    /**
     * Placement of options popover
     */
    optionsPlacement?: ButtonWithActionsOptionsPlacement;
    /**
     * Called when the options popover is closed by Escape key, Tab key or click outside.
     */
    onClose?: (reason: "backdropClick" | "escapeKeyDown" | "tabKeyDown") => void;
    /**
     * Called when the options submenu is clicked.
     */
    onClickOptionsMenu?: React.MouseEventHandler<HTMLButtonElement>;
} & React.RefAttributes<HTMLButtonElement>>;
export default ButtonWithActions;
