export declare enum ActionTypes {
    MouseDown = "mousedown",
    MouseUp = "mouseup",
    MouseOver = "mouseover",
    MouseOut = "mouseout"
}
export declare type CanvasActionsType = {
    [action in ActionTypes]: Array<ActionCallbackType>;
};
export declare type ActionCallbackType = (e: Event) => void;
export declare type ICanvasDrawImage = (image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number) => void;
export declare type DrawRectParamsType = {
    strokeStyle?: CanvasFillStrokeStyles['strokeStyle'];
    fillStyle?: CanvasFillStrokeStyles['fillStyle'];
    x: number;
    y: number;
    width: number;
    height: number;
};
export declare type IDrawRect = ({ fillStyle, strokeStyle, x, y, width, height, }: DrawRectParamsType) => Path2D;
export declare type IDrawEllipse = ({ fillStyle, strokeStyle, x, y, radiusX, radiusY }: {
    strokeStyle?: CanvasFillStrokeStyles['strokeStyle'];
    fillStyle?: CanvasFillStrokeStyles['fillStyle'];
    x: number;
    y: number;
    radiusX: number;
    radiusY?: number;
    rotation: number;
    startAngle: number;
    endAngle: number;
    counterclockwise?: boolean;
}) => Path2D;
export declare type NodeType = {
    x: number;
    y: number;
    cost: number;
    id?: string | number;
    previous?: NodeType;
};
export declare type MapType = Record<string, NodeType>;
export declare enum ECanvasEventType {
    Click = "click"
}
export declare enum EHitboxShape {
    Rect = "rect",
    Ellipse = "ellipse"
}
