import VisualMapModel, { VisualMapOption, VisualMeta } from './VisualMapModel.js'; 
 | 
import { VisualMappingOption } from '../../visual/VisualMapping.js'; 
 | 
import { VisualOptionPiecewise } from '../../util/types.js'; 
 | 
import { Dictionary } from 'zrender/lib/core/types.js'; 
 | 
interface VisualPiece extends VisualOptionPiecewise { 
 | 
    min?: number; 
 | 
    max?: number; 
 | 
    lt?: number; 
 | 
    gt?: number; 
 | 
    lte?: number; 
 | 
    gte?: number; 
 | 
    value?: number; 
 | 
    label?: string; 
 | 
} 
 | 
declare type VisualState = VisualMapModel['stateList'][number]; 
 | 
declare type InnerVisualPiece = VisualMappingOption['pieceList'][number]; 
 | 
/** 
 | 
 * Order Rule: 
 | 
 * 
 | 
 * option.categories / option.pieces / option.text / option.selected: 
 | 
 *     If !option.inverse, 
 | 
 *     Order when vertical: ['top', ..., 'bottom']. 
 | 
 *     Order when horizontal: ['left', ..., 'right']. 
 | 
 *     If option.inverse, the meaning of 
 | 
 *     the order should be reversed. 
 | 
 * 
 | 
 * this._pieceList: 
 | 
 *     The order is always [low, ..., high]. 
 | 
 * 
 | 
 * Mapping from location to low-high: 
 | 
 *     If !option.inverse 
 | 
 *     When vertical, top is high. 
 | 
 *     When horizontal, right is high. 
 | 
 *     If option.inverse, reverse. 
 | 
 */ 
 | 
export interface PiecewiseVisualMapOption extends VisualMapOption { 
 | 
    align?: 'auto' | 'left' | 'right'; 
 | 
    minOpen?: boolean; 
 | 
    maxOpen?: boolean; 
 | 
    /** 
 | 
     * When put the controller vertically, it is the length of 
 | 
     * horizontal side of each item. Otherwise, vertical side. 
 | 
     * When put the controller vertically, it is the length of 
 | 
     * vertical side of each item. Otherwise, horizontal side. 
 | 
     */ 
 | 
    itemWidth?: number; 
 | 
    itemHeight?: number; 
 | 
    itemSymbol?: string; 
 | 
    pieces?: VisualPiece[]; 
 | 
    /** 
 | 
     * category names, like: ['some1', 'some2', 'some3']. 
 | 
     * Attr min/max are ignored when categories set. See "Order Rule" 
 | 
     */ 
 | 
    categories?: string[]; 
 | 
    /** 
 | 
     * If set to 5, auto split five pieces equally. 
 | 
     * If set to 0 and component type not set, component type will be 
 | 
     * determined as "continuous". (It is less reasonable but for ec2 
 | 
     * compatibility, see echarts/component/visualMap/typeDefaulter) 
 | 
     */ 
 | 
    splitNumber?: number; 
 | 
    /** 
 | 
     * Object. If not specified, means selected. When pieces and splitNumber: {'0': true, '5': true} 
 | 
     * When categories: {'cate1': false, 'cate3': true} When selected === false, means all unselected. 
 | 
     */ 
 | 
    selected?: Dictionary<boolean>; 
 | 
    selectedMode?: 'multiple' | 'single' | boolean; 
 | 
    /** 
 | 
     * By default, when text is used, label will hide (the logic 
 | 
     * is remained for compatibility reason) 
 | 
     */ 
 | 
    showLabel?: boolean; 
 | 
    itemGap?: number; 
 | 
    hoverLink?: boolean; 
 | 
} 
 | 
declare class PiecewiseModel extends VisualMapModel<PiecewiseVisualMapOption> { 
 | 
    static type: "visualMap.piecewise"; 
 | 
    type: "visualMap.piecewise"; 
 | 
    /** 
 | 
     * The order is always [low, ..., high]. 
 | 
     * [{text: string, interval: Array.<number>}, ...] 
 | 
     */ 
 | 
    private _pieceList; 
 | 
    private _mode; 
 | 
    optionUpdated(newOption: PiecewiseVisualMapOption, isInit?: boolean): void; 
 | 
    /** 
 | 
     * @protected 
 | 
     * @override 
 | 
     */ 
 | 
    completeVisualOption(): void; 
 | 
    private _resetSelected; 
 | 
    /** 
 | 
     * @public 
 | 
     */ 
 | 
    getItemSymbol(): string; 
 | 
    /** 
 | 
     * @public 
 | 
     */ 
 | 
    getSelectedMapKey(piece: InnerVisualPiece): string; 
 | 
    /** 
 | 
     * @public 
 | 
     */ 
 | 
    getPieceList(): InnerVisualPiece[]; 
 | 
    /** 
 | 
     * @return {string} 
 | 
     */ 
 | 
    private _determineMode; 
 | 
    /** 
 | 
     * @override 
 | 
     */ 
 | 
    setSelected(selected: this['option']['selected']): void; 
 | 
    /** 
 | 
     * @override 
 | 
     */ 
 | 
    getValueState(value: number): VisualState; 
 | 
    /** 
 | 
     * @public 
 | 
     * @param pieceIndex piece index in visualMapModel.getPieceList() 
 | 
     */ 
 | 
    findTargetDataIndices(pieceIndex: number): { 
 | 
        seriesId: string; 
 | 
        dataIndex: number[]; 
 | 
    }[]; 
 | 
    /** 
 | 
     * @private 
 | 
     * @param piece piece.value or piece.interval is required. 
 | 
     * @return  Can be Infinity or -Infinity 
 | 
     */ 
 | 
    getRepresentValue(piece: InnerVisualPiece): string | number; 
 | 
    getVisualMeta(getColorVisual: (value: number, valueState: VisualState) => string): VisualMeta; 
 | 
    static defaultOption: PiecewiseVisualMapOption; 
 | 
} 
 | 
export default PiecewiseModel; 
 |