import React from 'react';
import PanelHeaderActionFactory, { PanelHeaderActionIcon } from '../side-panel/panel-header-action';
import { BaseProps } from '../common/icons';
export type ActionItem = {
    key: string;
    isHidden?: boolean;
    tooltip: string;
    classNames?: Record<string, boolean>;
    icon: PanelHeaderActionIcon;
    tooltipType?: 'error';
    onClick: () => void;
};
export type EffectPanelHeaderProps = {
    type: string;
    listeners: any;
    effectId: string;
    isEnabled: boolean;
    isConfigActive: boolean;
    isJsonEditorActive: boolean;
    showSortHandle?: boolean;
    isDragNDropEnabled: boolean;
    onToggleEnabled: () => void;
    onRemoveEffect: () => void;
    onToggleEnableConfig: () => void;
    actionIcons?: {
        remove: React.ComponentType<Partial<BaseProps>>;
        visible: React.ComponentType<Partial<BaseProps>>;
        hidden: React.ComponentType<Partial<BaseProps>>;
        enableConfig: React.ComponentType<Partial<BaseProps>>;
        disableConfig: React.ComponentType<Partial<BaseProps>>;
    };
    actionItems?: ActionItem[];
};
export declare const defaultProps: {
    isDragNDropEnabled: boolean;
};
export declare function EffectPanelHeaderActionSectionFactory(PanelHeaderAction: ReturnType<typeof PanelHeaderActionFactory>): React.FC<EffectPanelHeaderProps>;
export declare namespace EffectPanelHeaderActionSectionFactory {
    var deps: (typeof PanelHeaderActionFactory)[];
}
declare function EffectPanelHeaderFactory(EffectPanelHeaderActionSection: ReturnType<typeof EffectPanelHeaderActionSectionFactory>): React.FC<EffectPanelHeaderProps>;
declare namespace EffectPanelHeaderFactory {
    var deps: (typeof EffectPanelHeaderActionSectionFactory)[];
}
export default EffectPanelHeaderFactory;
