import EventEmitter from './EventEmitter'; import type { TimeDataItem } from '../Timeline'; /** 事件类型 */ export declare const EVENT_TYPE_MAP: { /** 播放 */ readonly PLAY: "play"; /** 暂停 */ readonly PAUSE: "pause"; /** 当前数据索引变动(配合图表播放) */ readonly CHANGE: "change"; /** v0.0.2+ 数据索引区间变动 开闭 [,) */ readonly CHANGE_RANGE: "changeRange"; /** v0.2.0+ 改变播放速度(倍速) */ readonly CHANGE_SPEED: "changeSpeed"; }; /** 事件定义 */ export declare type EventDefinition = { [EVENT_TYPE_MAP.PLAY]: (event: { type: typeof EVENT_TYPE_MAP.PLAY; index: number; timeData: TimeDataItem; speed: number; }) => void; [EVENT_TYPE_MAP.PAUSE]: (event: { type: typeof EVENT_TYPE_MAP.PAUSE; index: number; timeData: TimeDataItem; speed: number; /** 主动的交互行为导致暂停的原因 */ causeBy: 'apiUpdate' | 'apiSetIndexRange' | 'pause' | 'previous' | 'next' | 'axisClick' | 'axisMarkerDrag'; }) => void; [EVENT_TYPE_MAP.CHANGE]: (event: { type: typeof EVENT_TYPE_MAP.CHANGE; index: number; timeData: TimeDataItem; speed: number; /** v0.1.0+ 引起时间轴变化的原因 */ causeBy: 'apiUpdate' | 'apiSetIndexRange' | 'play' | 'previous' | 'next' | 'axisClick' | 'axisMarkerDrag'; /** 交互 id,用来区分多次连续的交互行为 */ actionId?: string; }) => void; [EVENT_TYPE_MAP.CHANGE_RANGE]: (event: { type: typeof EVENT_TYPE_MAP.CHANGE_RANGE; index: number; timeData: TimeDataItem; speed: number; indexRange: [number, number]; }) => void; [EVENT_TYPE_MAP.CHANGE_SPEED]: (event: { type: typeof EVENT_TYPE_MAP.CHANGE_SPEED; index: number; timeData: TimeDataItem; speed: number; }) => void; }; export default class EventHandler extends EventEmitter { constructor(); }