UNPKG

agora-classroom-sdk

Version:

For publishing npm package agora-classroom-sdk (Web & Electron). Get more information from https://docs.agora.io

35 lines (34 loc) 1.16 kB
import { FC } from 'react'; import { BaseWaveArmProps } from './types'; export declare enum WaveArmStateEnum { waveArmBefore = "wave-arm-before", waveArming = "wave-arm-ing", waveArmAfter = "wave-arm-after" } export interface HandlerCondition { oldState: WaveArmStateEnum; newState: WaveArmStateEnum; callbackFn: () => void; } export declare class FSM { currentState: WaveArmStateEnum; handlers: HandlerCondition[]; timer: ReturnType<typeof setTimeout> | null; constructor(currentState: WaveArmStateEnum); handlerConditionMatch(oldeState: WaveArmStateEnum, newState: WaveArmStateEnum): void; /** * 跳转到新状态 * @param newState * @returns */ changeState(newState: WaveArmStateEnum, durationTime: number): void; /** * 当从oldState跳转到newState时,执行handler * @param oldState 老状态 * @param newState 新状态 * @param handler 回调方法 */ whenAfter(oldState: WaveArmStateEnum, newState: WaveArmStateEnum, handler: () => void): void; getCurrentState(): WaveArmStateEnum; } export declare const WaveArmSender: FC<BaseWaveArmProps>;