import * as React from 'react';
import * as ToolPanelRedux from '../../../Redux/ActionsReducers/ToolPanelRedux';
import { IToolPanelParams } from 'ag-grid-enterprise';
import { AdaptableApi } from '../../../types';
import { AdaptableMenuItem } from '../../../AdaptableState/Common/Menu';
import { AdaptableModuleButtons, AdaptableToolPanel } from '../../../AdaptableState/Common/Types';
import { AdaptableColumn } from '../../../AdaptableState/Common/AdaptableColumn';
import { IAdaptable } from '../../../AdaptableInterfaces/IAdaptable';
import { AdaptableToolPanelDefinition } from '../../../AdaptableState/ToolPanelState';
import type { Action } from 'redux';
interface AdaptableToolPanelProps {
    api: AdaptableApi;
    teamSharingActivated?: boolean;
    ToolPanels: AdaptableToolPanelDefinition[];
    ModuleButtons: AdaptableModuleButtons;
    MainMenuItems: AdaptableMenuItem[];
    Columns: AdaptableColumn[];
    onClick: (action: Action) => Action;
    onShowToolPanel: (toolPanel: AdaptableToolPanel | string) => ToolPanelRedux.ToolPanelShowToolPanelAction;
    onHideToolPanel: (toolPanel: AdaptableToolPanel | string) => ToolPanelRedux.ToolPanelHideToolPanelAction;
    onExpandToolPanel: (toolPanel: AdaptableToolPanel | string) => ToolPanelRedux.ToolPanelExpandToolPanelAction;
    onCollapseToolPanel: (toolPanel: AdaptableToolPanel | string) => ToolPanelRedux.ToolPanelCollapseToolPanelAction;
}
export declare const ConnectedAdaptableToolPanel: import("react-redux").ConnectedComponent<(props: AdaptableToolPanelProps) => React.JSX.Element, {
    api: AdaptableApi;
    teamSharingActivated?: boolean;
    context?: React.Context<import("react-redux").ReactReduxContextValue<any, import("redux").UnknownAction>>;
    store?: import("redux").Store<any, import("redux").UnknownAction, unknown>;
}>;
export declare const getAdaptableToolPanelAgGridComponent: (adaptable: IAdaptable) => (() => React.JSX.Element) | {
    new (): {
        gui: HTMLElement;
        unmountReactRoot?: VoidFunction;
        init(params?: IToolPanelParams): void;
        getGui(): HTMLElement;
        refresh(): void;
        destroy(): void;
    };
};
export {};
