import React from 'react';
import { AggregatedBin, Layer, VisualChannelDomain } from '@kepler.gl/layers';
import { KeplerTable } from '@kepler.gl/table';
import { ColorRange, ColorUI, Field } from '@kepler.gl/types';
import ColorBreaksPanelFactory, { ColorBreaksPanelProps } from './color-breaks-panel';
import { SetColorUIFunc } from './custom-palette';
export type ScaleOption = {
    label: string;
    value: string;
};
export type OnSelectFunc = (v: string, visConfg?: Record<string, any>) => void;
export type ContextProps = ColorBreaksPanelProps;
export type ColorScaleSelectorProps = {
    layer: Layer;
    field: Field;
    dataset: KeplerTable;
    scaleType: string;
    domain: VisualChannelDomain;
    range: ColorRange;
    onSelect: OnSelectFunc;
    setColorUI: SetColorUIFunc;
    colorUIConfig: ColorUI;
    options: ScaleOption[];
    disabled?: boolean;
    selectedItems: ScaleOption[];
    multiSelect: boolean;
    searchable: boolean;
    displayOption: string;
    getOptionValue: string;
    aggregatedBins?: AggregatedBin[];
    channelKey: string;
};
declare function ColorScaleSelectorFactory(ColorBreaksPanel: ReturnType<typeof ColorBreaksPanelFactory>): React.FC<ColorScaleSelectorProps>;
declare namespace ColorScaleSelectorFactory {
    var deps: (typeof ColorBreaksPanelFactory)[];
}
export default ColorScaleSelectorFactory;
