import * as React from 'react';
import { BaseModuleTab, ModuleDraggableItem, UnusedItemGroup } from './types';
export interface ModuleManagerProps {
    availableItems: ModuleDraggableItem[];
    filterOutSelectedItems?: boolean;
    className?: string;
    disabled: boolean;
    onTabsChange: (tabs: BaseModuleTab[]) => void;
    tabs: BaseModuleTab[];
    unusedPanelTitle?: string;
    dragItemText?: string;
    /** When set, renders multiple available-item pools instead of a single unused panel. */
    unusedItemGroups?: UnusedItemGroup[];
    /** Layout for `unusedItemGroups` when more than one group is provided. */
    unusedItemGroupsLayout?: 'column' | 'row';
    tabsTitle?: string;
    permittedActions?: {
        createTab?: boolean;
        editTabName?: boolean;
        dragAndDropTab?: boolean;
        deleteTab?: boolean;
    };
    /**
     * `strip`: single horizontal drop row (e.g. pinned toolbars).
     * `rows`: named tabs stacked vertically, each with a horizontal toolbar strip.
     * `tabs`: multi-column tab editor (default, e.g. status bar).
     */
    layout?: 'tabs' | 'strip' | 'rows';
    /** Unique per ModuleManager instance when more than one appears on the same screen. */
    dragScope?: string;
}
export declare const ModuleManager: React.FunctionComponent<ModuleManagerProps>;
