export interface ConfigureMenuItem {
    readonly id: string;
    readonly icon: React.ReactNode;
    readonly label: string;
    readonly count: number;
    /** Show a warning indicator (e.g., MCP server needs setup). */
    readonly hasWarning?: boolean;
}
export interface ConfigureMenuProps {
    readonly open: boolean;
    readonly onOpenChange: (open: boolean) => void;
    /**
     * Which panel is currently drilled into.
     * `null` shows the menu list; a string shows that panel's content.
     */
    readonly activePanel: string | null;
    readonly onActivePanelChange: (panel: string | null) => void;
    readonly items: readonly ConfigureMenuItem[];
    /**
     * Render the content for a given panel id.
     * Called only when `activePanel` matches an item id.
     */
    readonly renderPanel: (itemId: string) => React.ReactNode;
    readonly disabled?: boolean;
}
/**
 * Tier 2 configuration affordance for the composer toolbar.
 *
 * Renders a trigger button with an optional badge and warning indicator.
 * Opens a popover that either shows a menu list (when no panel is active)
 * or drills into the selected item's picker (when a panel is active).
 *
 * Uses a single popover with content switching rather than nested popovers,
 * avoiding z-index and focus-trap issues.
 */
export declare function ConfigureMenu({ open, onOpenChange, activePanel, onActivePanelChange, items, renderPanel, disabled, }: ConfigureMenuProps): import("react/jsx-runtime").JSX.Element | null;
//# sourceMappingURL=ConfigureMenu.d.ts.map