import { Component } from 'react'; import { BrushChangeEvent } from './BrushSlice'; import { ChartDataTypes } from '../data'; import { PanMoveEvent, PanStartEvent } from '../Gestures/Pan'; export interface BrushConfiguration { disabled?: boolean; fill?: string; domain?: [ChartDataTypes, ChartDataTypes]; onBrushChange?: (e: any) => void; } export interface BrushProps { height: number; width: number; disabled?: boolean; start?: number; end?: number; onBrushChange?: (e: BrushChangeEvent) => void; } interface BrushState { isSlicing: boolean; isPanning: boolean; start?: number; end?: number; initial?: number; } export declare class Brush extends Component { static defaultProps: Partial; ref: any; constructor(props: BrushProps); componentDidUpdate(prevProps: BrushProps): void; getStartEnd(event: PanMoveEvent, state?: BrushState): { start: number; end: number; }; getPositionsForPanEvent(event: PanStartEvent | PanMoveEvent): { x: number; y: number; }; ensurePositionInBounds(newStart?: number, newEnd?: number, state?: BrushState): { start: number; end: number; }; onPanStart(event: PanStartEvent): void; onPanMove(event: PanMoveEvent): void; onPanEnd(): void; onPanCancel(): void; onSliceChange(event: BrushChangeEvent): void; render(): JSX.Element; } export {};