import { BaseEntity } from '../base.entity';
import { ID } from '../utils/tool-kit.util';
export declare class BaseEvent<T extends BaseEntity> {
    entity: T;
    entityId: ID;
    stopPropagation: () => any;
    firing: boolean;
    id: ID;
    propogate: boolean;
    constructor(entity: T, options?: any);
}
export declare class LockEvent<T extends BaseEntity = BaseEntity> extends BaseEvent<T> {
    locked: boolean;
    constructor(entity: T, locked?: boolean);
}
export declare class ParentChangeEvent<P extends BaseEntity = BaseEntity, T extends BaseEntity = BaseEntity> extends BaseEvent<T> {
    parent: P;
    constructor(entity: T, parent: P);
}
export declare class SelectionEvent<T extends BaseEntity = BaseEntity> extends BaseEvent<T> {
    isSelected: boolean;
    constructor(entity: T, selected: boolean);
}
export declare class PaintedEvent<T extends BaseEntity = BaseEntity> extends BaseEvent<T> {
    isPainted: boolean;
    constructor(entity: T, painted?: boolean);
}
