import * as React from 'react';
import { AdaptableApi } from '../../Api/AdaptableApi';
import { CellColorRange, ColumnComparison, NumericStyledColumn } from '../../AdaptableState/StyledColumnState';
import { ColumnScope } from '../../AdaptableState/Common/ColumnScope';
export interface RangesComponentProps extends React.ClassAttributes<RangesComponent> {
    ranges: CellColorRange[];
    columnComparison?: ColumnComparison;
    rangeValueType: NumericStyledColumn['RangeValueType'];
    onRangeValueTypeChange: (rangeValueType: NumericStyledColumn['RangeValueType']) => void;
    scope: ColumnScope;
    api: AdaptableApi;
    showRangeDirection: boolean;
    updateRanges: (ranges: CellColorRange[]) => void;
    updateColumnComparison: (columnComparison?: ColumnComparison) => void;
    minMaxRangeValues: {
        min: number;
        max: number;
    };
    disabled?: boolean;
}
export interface RangesComponentState {
    rangesType: 'Standard' | 'ColumnComparison';
}
export declare class RangesComponent extends React.Component<RangesComponentProps, RangesComponentState> {
    constructor(props: RangesComponentProps);
    render(): React.JSX.Element;
    private onRangesTypeChanged;
    private handleRangeValueTypeChange;
    changeRangeMin(index: number, value: number): void;
    changeRangeMax(index: number, value: number): void;
    changeRangeColor(index: number, value: string): void;
    changeRangeDirectionUp(index: number, checked: boolean): void;
    removeRange(index: number): void;
    setRangeColMin(range: CellColorRange): void;
    setRangeColMax(range: CellColorRange): void;
    addRange(): void;
    changeColumnComparisonMinValue(value: number): void;
    private onMinColumnSelectedChanged;
    changeColumnComparisonMaxValue(value: number): void;
    private onMaxColumnSelectedChanged;
    changeColumnComparisonColor(value: string): void;
}
