import React, { ComponentType } from 'react';
import { removeEffect, updateEffect } from '@kepler.gl/actions';
import { Effect } from '@kepler.gl/types';
import EffectPanelHeaderFactory from './effect-panel-header';
import EffectConfiguratorFactory from './effect-configurator';
export type EffectPanelProps = {
    className: string;
    effect: Effect;
    isDraggable: boolean;
    listeners: any;
    removeEffect: typeof removeEffect;
    updateEffect: typeof updateEffect;
    style?: React.CSSProperties;
    onMouseDown: React.MouseEventHandler<HTMLDivElement>;
    onTouchStart: React.TouchEventHandler<HTMLDivElement>;
};
export type PanelWrapperProps = {
    active: boolean;
};
declare function EffectPanelFactory(EffectPanelHeader: ReturnType<typeof EffectPanelHeaderFactory>, EffectConfigurator: ReturnType<typeof EffectConfiguratorFactory>): ComponentType<EffectPanelProps>;
declare namespace EffectPanelFactory {
    var deps: (typeof EffectConfiguratorFactory | typeof EffectPanelHeaderFactory)[];
}
export default EffectPanelFactory;
