import { type BoxProps } from "@mui/material/Box";
import { type DebounceRenderProps } from "../utils/DebounceRender";
import { type MenuControlsContainerClasses } from "./MenuControlsContainer.classes";
export type MenuControlsContainerProps = Omit<BoxProps, "children" | "className" | "classes"> & {
    /** The set of controls (buttons, etc) to include in the menu bar. */
    children?: React.ReactNode;
    /** Class applied to the `root` element. */
    className?: string;
    /** Override or extend existing styles. */
    classes?: Partial<MenuControlsContainerClasses>;
    /**
     * If true, the rendering of the children content here will be debounced, as a
     * way to improve performance. If this component is rendered in the same
     * context as Tiptap's `useEditor` and *not* debounced, then upon every editor
     * interaction (caret movement, character typed, etc.), the entire controls
     * content will re-render, which can bog down the editor, so debouncing is
     * usually recommended. Controls are often expensive to render since they need
     * to check a lot of editor state, with `editor.can()` commands and whatnot.
     */
    debounced?: boolean;
    /**
     * Override the props/options used with debounce rendering such as the wait
     * interval, if `debounced` is true.
     */
    DebounceProps?: Partial<Omit<DebounceRenderProps, "children">>;
};
/** Provides consistent spacing between different editor controls components. */
export default function MenuControlsContainer(inProps: MenuControlsContainerProps): import("react/jsx-runtime").JSX.Element;
