import React from 'react';
import { Layer, VisualChannel } from '@kepler.gl/layers';
import { KeplerTable } from '@kepler.gl/table';
import { ColorUI, Field, LayerVisConfig, NestedPartial } from '@kepler.gl/types';
import DimensionScaleSelectorFactory from './dimension-scale-selector';
import VisConfigByFieldSelectorFactory from './vis-config-by-field-selector';
export type ChannelByValueSelectorProps = {
    layer: Layer;
    channel: VisualChannel;
    onChange: (newConfig: {
        [key: string]: Field | null | string;
    }, key: string, newVisConfig?: Partial<LayerVisConfig>) => void;
    fields: Field[];
    dataset: KeplerTable | undefined;
    description?: string;
    setColorUI: (prop: string, newConfig: NestedPartial<ColorUI>) => void;
    updateLayerVisConfig: (newConfig: Partial<LayerVisConfig>) => void;
    disabled?: boolean;
};
export declare function ChannelByValueSelectorFactory(VisConfigByFieldSelector: ReturnType<typeof VisConfigByFieldSelectorFactory>, DimensionScaleSelector: ReturnType<typeof DimensionScaleSelectorFactory>): React.FC<ChannelByValueSelectorProps>;
export declare namespace ChannelByValueSelectorFactory {
    var deps: (typeof DimensionScaleSelectorFactory | typeof VisConfigByFieldSelectorFactory)[];
}
export default ChannelByValueSelectorFactory;
