| import BoundingRect, { RectLike } from 'zrender/lib/core/BoundingRect.js'; | 
| import { BrushType } from '../helper/BrushController.js'; | 
| import { BrushAreaParamInternal } from './BrushModel.js'; | 
| export interface BrushSelectableArea extends BrushAreaParamInternal { | 
|     boundingRect: BoundingRect; | 
|     selectors: BrushCommonSelectorsForSeries; | 
| } | 
| /** | 
|  * Key of the first level is brushType: `line`, `rect`, `polygon`. | 
|  * See moudule:echarts/component/helper/BrushController | 
|  * function param: | 
|  *      {Object} itemLayout fetch from data.getItemLayout(dataIndex) | 
|  *      {Object} selectors {point: selector, rect: selector, ...} | 
|  *      {Object} area {range: [[], [], ..], boudingRect} | 
|  * function return: | 
|  *      {boolean} Whether in the given brush. | 
|  */ | 
| interface BrushSelectorOnBrushType { | 
|     point(itemLayout: number[], selectors: BrushCommonSelectorsForSeries, area: BrushSelectableArea): boolean; | 
|     rect(itemLayout: RectLike, selectors: BrushCommonSelectorsForSeries, area: BrushSelectableArea): boolean; | 
| } | 
| /** | 
|  * This methods are corresponding to `BrushSelectorOnBrushType`, | 
|  * but `area: BrushSelectableArea` is binded to each method. | 
|  */ | 
| export interface BrushCommonSelectorsForSeries { | 
|     point(itemLayout: number[]): boolean; | 
|     rect(itemLayout: RectLike): boolean; | 
| } | 
| export declare function makeBrushCommonSelectorForSeries(area: BrushSelectableArea): BrushCommonSelectorsForSeries; | 
| declare const selector: Record<BrushType, BrushSelectorOnBrushType>; | 
| export default selector; |