import { fabric } from 'fabric';
import { IEvent, Object } from 'fabric/fabric-impl';
export declare enum ObjectType {
    Unknown = "unknown",
    Rectangle = "rect"
}
export declare enum ZoneType {
    Rect = 0
}
export declare type DrawRectangle = {
    color?: string;
    isRotatable?: boolean;
};
export declare type BaseObject = DataRectangle & Object;
export declare type DataRectangle = {
    angle: number;
    color: string;
    data: any;
    height: number;
    isRotatable?: boolean;
    label?: string;
    left: number;
    top: number;
    width: number;
    uid: string;
};
export declare type SelectionIEvent = IEvent & {
    selected: Object[];
};
export interface Rectangle extends BaseObject {
    type: ObjectType.Rectangle;
}
export interface LabeledRect extends fabric.Rect {
    label: string;
    type: "rect";
    uid: string;
    restoreLabel: () => void;
}
