saltfish
Version:
An interactive video-guided tour system for web applications
55 lines • 1.69 kB
TypeScript
import type { IManagerOrchestrator, ManagedManagers } from './ServiceInterfaces';
/**
* Service for handling manager coordination and lifecycle
*/
export declare class ManagerOrchestrator implements IManagerOrchestrator {
private managers;
private uiUpdaterUnsubscribe;
private eventUpdaterUnsubscribe;
private cursorAnimationListener;
private cursorAnimationVideoElement;
private cursorAnimationStepId;
private static prevState;
private isInitialized;
constructor(managers: ManagedManagers);
/**
* Set initialization state
*/
setInitialized(initialized: boolean): void;
/**
* Set up UI and event updaters
*/
setupUpdaters(): void;
/**
* Cleans up the active cursor animation time listener
* @param stepId - Optional step ID to verify we're cleaning up the right listener
*/
private cleanupCursorAnimationListener;
/**
* Schedules a cursor animation to run either immediately or at a specific video time
* Note: Works for both video and audio-only steps (audio files use the same video element)
*/
private scheduleCursorAnimation;
/**
* Handle store state changes
*/
handleStoreChanges(): void;
/**
* Clean up current playlist state
*/
cleanupCurrentPlaylist(): void;
/**
* Clean up playlist while preserving trigger monitoring
*/
cleanupPlaylist(): void;
/**
* Destroy all managers and cleanup
*/
destroyAll(): void;
/**
* Get all managed managers for external access
*/
getManagers(): ManagedManagers;
destroy(): void;
}
//# sourceMappingURL=ManagerOrchestrator.d.ts.map