/** * PlayerState - State machine for player */ import type { PlayerState } from '../types'; import { EventEmitter } from '../events/EventEmitter'; interface StateEvents { change: PlayerState; } export declare class PlayerStateManager extends EventEmitter { private state; /** * Get current state */ getState(): PlayerState; /** * Transition to a new state */ setState(newState: PlayerState): boolean; /** * Check if in a specific state */ is(state: PlayerState): boolean; /** * Check if can play */ canPlay(): boolean; /** * Check if can pause * * "seeking" counts: a seek in flight can take seconds (software decode on a * phone, a keyframe hunt over a slow link), and dropping the user's pause for * that whole window meant the tap did nothing AND playback auto-resumed the * moment the seek landed. MoviPlayer.pause() honours it by clearing the * resume intent so the seek settles into "paused" instead. */ canPause(): boolean; /** * Check if can seek */ canSeek(): boolean; /** * Reset to idle state */ reset(): void; } export {}; //# sourceMappingURL=PlayerState.d.ts.map