///
import { IAnimation, IEntityOptions, Animation, ICaptureIndicator, Context } from './index';
import Konva from 'konva';
import { Vector2d } from 'konva/lib/types';
export declare class Entity extends EventTarget {
x: number;
y: number;
offsetX: number;
offsetY: number;
width: number;
height: number;
animationDescriptors: IAnimation[];
scale: number;
rotation: number;
opacity: number;
parent?: Konva.Layer | Konva.Group;
backgroundParent?: Konva.Layer | Konva.Group;
foregroundParent?: Konva.Layer | Konva.Group;
drawingLayer?: Konva.Layer;
konvaObject?: Konva.Group;
backgroundKonvaObject?: Konva.Group;
foregroundKonvaObject?: Konva.Group;
animator?: Konva.Animation;
animations: Animation[];
animationsToPlay: Animation[];
currentTime: number;
selectionRect?: Konva.Shape;
isSelected: boolean;
isPlaying: boolean;
shouldLoop: boolean;
readyForLooping: boolean;
waitBeforeLoop: number;
loopingTimeout: NodeJS.Timeout | null;
shouldCreateAnimations: boolean;
context: Context;
constructor(context: Context, options: Partial);
getScale(): number;
setScale(newScale: number): void;
setPosition(newPosition: Vector2d): void;
setX(newX: number): void;
setY(newY: number): void;
setOpacity(newOpacity: number): void;
setRotation(newRotation: number): void;
setListening(newListening: boolean): void;
setDrawingLayer(newDrawingLayer: Konva.Layer): void;
clearTimeout(): void;
createAnimations(): void;
addAnimation(animationDescriptor: IAnimation): -1 | undefined;
addTo(newParent: Konva.Layer | Konva.Group, newBackgroundParent?: Konva.Layer | Konva.Group, newForegroundParent?: Konva.Layer | Konva.Group, drawingLayer?: Konva.Layer): void;
destroy(): void;
destroyChildren(): void;
pause(): void;
play(loop?: boolean, waitBeforeLoop?: number): void;
setTime(newTime: number): void;
getAnimationById(id: string): Animation | undefined;
render(): void;
shouldStartLooping(): boolean;
loop(): void;
resetAnimations(shouldInitialize?: boolean): void;
seek(time: number, reset?: boolean): void;
_renderAfterSeek(seekTime: number): void;
emit(eventName: string, payload: any): void;
on(eventName: string, onEventFunction: ((payload: any) => void)): void;
getCaptureIndicators(indicators?: ICaptureIndicator[], maxDuration?: number): ICaptureIndicator[];
refresh(): void;
_createSelectionRect(options: Konva.ShapeConfig, sceneFunc: (entity: Entity, context: Konva.Context, shape: Konva.Shape) => void, onMouseEnterFunc?: (entity: Entity, event: Konva.KonvaEventObject) => void, onMouseOutFunc?: (entity: Entity, event: Konva.KonvaEventObject) => void, onMouseDownFunc?: (entity: Entity, event: Konva.KonvaEventObject, mouseIn: boolean) => void, onMouseUpFunc?: (entity: Entity, event: Konva.KonvaEventObject, mouseIn: boolean) => void, onMouseClickFunc?: (entity: Entity, event: Konva.KonvaEventObject, mouseIn: boolean) => void): void;
update(options: Partial): void;
}