import { Scene, Cartesian2, Primitive, Entity, PrimitiveCollection, Cesium3DTileFeature, PointPrimitiveCollection, LabelCollection, BillboardCollection, PolylineCollection, PointPrimitive, Label, Billboard, Polyline, TimeDynamicPointCloud, ModelNode, GroundPolylinePrimitive, GroundPrimitive, ScreenSpaceEventHandler } from 'cesium'; export declare const eventManagerContextKey = "__RESIUM_EVENT_MANAGER"; export type EventType = keyof RootEventProps; export type RootEventTarget = Cesium3DTileFeature | { collection?: PrimitiveCollection | PointPrimitiveCollection | LabelCollection | BillboardCollection | PolylineCollection; id?: Entity | string; node?: ModelNode; primitive?: Primitive | PointPrimitive | Label | Billboard | Polyline | TimeDynamicPointCloud | GroundPolylinePrimitive | GroundPrimitive; }; export type EventProps = { onClick?: (movement: CesiumMovementEvent, target: T) => void; onDoubleClick?: (movement: CesiumMovementEvent, target: T) => void; onMouseDown?: (movement: CesiumMovementEvent, target: T) => void; onMouseUp?: (movement: CesiumMovementEvent, target: T) => void; onMiddleClick?: (movement: CesiumMovementEvent, target: T) => void; onMiddleDown?: (movement: CesiumMovementEvent, target: T) => void; onMiddleUp?: (movement: CesiumMovementEvent, target: T) => void; onMouseMove?: (movement: CesiumMovementEvent, target: T) => void; onPinchEnd?: (movement: CesiumMovementEvent, target: T) => void; onPinchMove?: (movement: CesiumMovementEvent, target: T) => void; onPinchStart?: (movement: CesiumMovementEvent, target: T) => void; onRightClick?: (movement: CesiumMovementEvent, target: T) => void; onRightDown?: (movement: CesiumMovementEvent, target: T) => void; onRightUp?: (movement: CesiumMovementEvent, target: T) => void; onMouseEnter?: (movement: CesiumMovementEvent, target: T) => void; onMouseLeave?: (movement: CesiumMovementEvent, target: T) => void; }; export type RootEventProps = EventProps & { onWheel?: (delta: number) => void; }; export type CesiumMovementEvent = { position?: Cartesian2; startPosition?: Cartesian2; endPosition?: Cartesian2; }; export type Callback = (e: CesiumMovementEvent, source: T) => void; export declare const eventNames: EventType[]; export declare class EventManager { private static eventTypeMap; private scene; private sshe; private events; private hovered; constructor(scene?: Scene); destroy(): void; isDestroyed(): boolean; on(element: any, type: EventType, cb: Callback): void; off(element: any, type: EventType): void; setEvents(element: any, props: any): void; clearEvents(element: any): void; commit(): void; getScreenSpaceEventHandler(): ScreenSpaceEventHandler; private getEventCallback; private onMouseMove; private eventCallback; private pick; } export default EventManager;