import React from 'react';
import { MinimalField } from '../../common/field-selector';
import PanelHeaderActionFactory from '../panel-header-action';
import LayerColumnConfigFactory from './layer-column-config';
import { Layer, LayerInfoModal, LayerBaseConfig } from '@kepler.gl/layers';
import { SupportedColumnMode, FieldPair, LayerColumns } from '@kepler.gl/types';
interface FieldOption extends MinimalField {
    fieldIdx: number;
}
export type SupportedColumnModeConfig = {
    key: string;
    label: string;
    columns: LayerColumns;
};
export type ColumnModeConfigProps = {
    supportedColumnModes: SupportedColumnMode[] | null;
    selectedColumnMode?: string;
    id: string;
    columns: LayerColumns;
    renderColumnConfig: (mode: {
        key: string;
        label: string;
        columns: any;
    }, selected: boolean) => JSX.Element;
    selectColumnMode: (mode: SupportedColumnModeConfig) => void;
    getHelpHandler?: (mode: SupportedColumnModeConfig) => (() => void) | null;
};
export declare function ColumnModeConfigFactory(PanelHeaderAction: ReturnType<typeof PanelHeaderActionFactory>): React.FC<ColumnModeConfigProps>;
export declare namespace ColumnModeConfigFactory {
    var deps: (typeof PanelHeaderActionFactory)[];
}
export type LayerColumnModeConfigProps = {
    layer: Layer;
    layerConfig: LayerBaseConfig;
    supportedColumnModes: SupportedColumnMode[] | null;
    id: string;
    fields: FieldOption[];
    fieldPairs?: FieldPair[];
    openModal: (l: LayerInfoModal) => void;
    updateLayerConfig: (config: Partial<LayerBaseConfig>) => void;
    updateLayerType: (type: string) => void;
};
declare function LayerColumnModeConfigFactory(LayerColumnConfig: ReturnType<typeof LayerColumnConfigFactory>, ColumnModeConfig: ReturnType<typeof ColumnModeConfigFactory>): ({ id, layer, supportedColumnModes, layerConfig, fields, fieldPairs, openModal, updateLayerConfig }: LayerColumnModeConfigProps) => React.JSX.Element;
declare namespace LayerColumnModeConfigFactory {
    var deps: (typeof ColumnModeConfigFactory | typeof LayerColumnConfigFactory)[];
}
export default LayerColumnModeConfigFactory;
