import React, { type ReactElement } from "react"; import { type SplitButtonSecondaryContentPositionType } from "./SplitButtonConstants"; import { type ButtonProps } from "@vibe/button"; import { type DialogSize } from "@vibe/dialog"; export interface SplitButtonProps extends ButtonProps { /** * The element or renderer that is displayed inside the dialog opened by clicking the secondary button. */ secondaryDialogContent?: ReactElement | (() => string | ReactElement); /** * Callback fired when the secondary dialog is shown. */ onSecondaryDialogDidShow?: () => void; /** * Callback fired when the secondary dialog is hidden. */ onSecondaryDialogDidHide?: () => void; /** * The z-index applied to the secondary dialog. */ zIndex?: number; /** * Class name applied to the wrapper of the secondary dialog. */ secondaryDialogClassName?: string; /** * The position of the secondary dialog. */ secondaryDialogPosition?: SplitButtonSecondaryContentPositionType; /** * The padding size inside the secondary dialog. */ dialogPaddingSize?: DialogSize; /** * The CSS selector of the container where the dialog should be rendered. */ dialogContainerSelector?: string; /** * If true, clicking inside the dialog will close it. */ shouldCloseOnClickInsideDialog?: boolean; } declare const SplitButton: ({ secondaryDialogContent, onSecondaryDialogDidShow, onSecondaryDialogDidHide, shouldCloseOnClickInsideDialog, zIndex, secondaryDialogClassName, secondaryDialogPosition, dialogContainerSelector, dialogPaddingSize, disabled, success, loading, kind, color, className, leftIcon, rightIcon, onClick, children, marginLeft, marginRight, active, id, "data-testid": dataTestId, ...buttonProps }: SplitButtonProps) => React.JSX.Element; export default SplitButton;