import type { GraphicEventType, IGroupGraphicAttribute, IPolygonGraphicAttribute } from '@visactor/vrender-core';
import type { IDelayType } from '../interface';
export interface BrushAttributes extends IGroupGraphicAttribute {
    trigger?: GraphicEventType | GraphicEventType[];
    updateTrigger?: GraphicEventType | GraphicEventType[];
    endTrigger?: GraphicEventType | GraphicEventType[];
    resetTrigger?: GraphicEventType | GraphicEventType[];
    interactiveRange?: {
        minX: number;
        maxX: number;
        minY: number;
        maxY: number;
    };
    brushMode?: IBrushMode;
    brushType?: IBrushType;
    xRange?: [number, number];
    yRange?: [number, number];
    hasMask?: boolean;
    brushStyle?: IPolygonGraphicAttribute;
    brushMoved?: boolean;
    removeOnClick?: boolean;
    sizeThreshold?: number;
    delayType?: IDelayType;
    delayTime?: number;
    disableTriggerEvent?: boolean;
}
export type IBrushType = 'x' | 'y' | 'rect' | 'polygon';
export type IBrushMode = 'single' | 'multiple';
export declare enum IOperateType {
    drawStart = "drawStart",
    drawEnd = "drawEnd",
    drawing = "drawing",
    moving = "moving",
    moveStart = "moveStart",
    moveEnd = "moveEnd",
    brushClear = "brushClear"
}
