import { BaseState } from './BaseState';
import { AdaptableModuleButtons, AdaptableToolPanel } from './Common/Types';
/**
 * Adaptable State Section for the AdapTable ToolPanel
 */
export interface ToolPanelState extends BaseState {
    /**
     * Adaptable Tool Panels which are viaible
     * @defaultValue ToolPanels for all available Modules (subject to Entitlement rules)
     */
    ToolPanels?: AdaptableToolPanelDefinition[];
    /**
     * AdapTable Module Buttons visible in ToolPanel
     * @defaultValue Empty Array
     */
    ModuleButtons?: AdaptableModuleButtons;
}
/**
 * Defines a ToolPanel - Name and VisibilityMode (Expanded / Collapsed)
 */
export interface AdaptableToolPanelDefinition {
    /**
     * ToolPanel name - either an Adaptable Module or a Custom ToolPanel (defined in ToolPanel Options)
     */
    Name: AdaptableToolPanel | string;
    /**
     * Whether the ToolPanel is 'expanded' or 'collapsed'
     * @defaultValue 'collapsed'
     */
    VisibilityMode?: 'expanded' | 'collapsed';
}
/**
 * Whether a ToolPanel displays as expanded or collapsed
 */
export type ToolPanelVisibilityMode = 'expanded' | 'collapsed';
