import React, { type ReactElement } from "react";
import { type SplitButtonSecondaryContentPositionType } from "./SplitButtonConstants";
import { type ButtonProps } from "@vibe/button";
import { type DialogSize } from "../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 _default: React.FC<SplitButtonProps> & {
    secondaryPositions: {
        readonly BOTTOM_START: "bottom-start";
        readonly BOTTOM_MIDDLE: "bottom";
        readonly BOTTOM_END: "bottom-end";
    };
    secondaryDialogPositions: {
        readonly BOTTOM_START: "bottom-start";
        readonly BOTTOM_MIDDLE: "bottom";
        readonly BOTTOM_END: "bottom-end";
    };
    sizes: {
        readonly SMALL: "small";
        readonly MEDIUM: "medium";
        readonly LARGE: "large";
        readonly XXS: "xxs";
        readonly XS: "xs";
    };
    colors: typeof import("@vibe/button/dist/Button/ButtonConstants").ButtonColor;
    kinds: typeof import("@vibe/button/dist/Button/ButtonConstants").ButtonType;
    inputTags: typeof import("@vibe/button/dist/Button/ButtonConstants").ButtonInputType;
    dialogPaddingSizes: typeof import("../Dialog/DialogConstants").DialogSize;
};
export default _default;
