import { ReactNode } from 'react';
export type MenuFooterClearConfig = {
    onClick: () => void;
    label?: string;
    disabled?: boolean;
};
export type MenuFooterConfirmationConfig = {
    onApply: () => void;
    onCancel: () => void;
    applyLabel?: string;
    cancelLabel?: string;
    applyDisabled?: boolean;
};
export type MenuFooterProps = {
    /** Clear-selection button config. Omit to suppress. */
    clear?: MenuFooterClearConfig;
    /** Apply/Cancel pair config. Omit when not in confirmation mode. */
    confirmation?: MenuFooterConfirmationConfig;
    /**
     * Pre-rendered add-new affordance (AddNewItemButton or similar). Layout owns
     * its row vs. inline placement; the caller just provides the node.
     */
    addNew?: ReactNode;
};
/**
 * MenuFooter composes the footer of a menu popover/dialog from up to three
 * optional pieces: a clear-selection button, an Apply/Cancel pair, and an
 * add-new affordance.
 *
 * Layout rules:
 * - clear + confirmation + addNew → [addNew full-width row] / [clear | apply cancel]
 * - clear + confirmation         → [clear | apply cancel]
 * - clear + addNew               → [addNew] / [clear]   (stacked, both full-width)
 * - clear                        → [clear]               (full-width)
 * - confirmation + addNew        → [addNew | apply cancel]   (addNew on the leading side)
 * - confirmation                 → [apply | cancel]
 * - addNew                       → [addNew]
 * - (none)                       → null
 */
export declare const MenuFooter: {
    ({ clear, confirmation, addNew, }: MenuFooterProps): import("react/jsx-runtime").JSX.Element | null;
    displayName: string;
};
