saltfish
Version:
An interactive video-guided tour system for web applications
84 lines • 2.91 kB
TypeScript
import type { SaltfishEventName, EventHandler } from '../managers/EventManager';
import type { SaltfishConfig, PlaylistOptions } from '../types';
import { PlayerInitializationService } from './services/PlayerInitializationService';
import { UserManagementService } from './services/UserManagementService';
import { PlaylistOrchestrator } from './services/PlaylistOrchestrator';
import { StateMachineActionHandler } from './services/StateMachineActionHandler';
import { ManagerOrchestrator } from './services/ManagerOrchestrator';
/**
* Main class for the Saltfish playlist Player
*/
export declare class SaltfishPlayer {
private static instance;
private playerInitializationService;
private userManagementService;
private playlistOrchestrator;
private stateMachineActionHandler;
private managerOrchestrator;
private managerFactory;
private isInitialized;
private constructor();
/**
* Gets the singleton instance of the Saltfish playlist Player
*/
static getInstance(): SaltfishPlayer;
/**
* Get session ID from SessionManager
*/
getSessionId(): string;
/**
* Get run ID from SessionManager
*/
getRunId(): string | null;
/**
* Initialize the player with configuration
*/
initialize(config: SaltfishConfig): Promise<void>;
/**
* Identify a user with ID and optional data
*/
identifyUser(userId: string, userData?: Record<string, unknown>): void;
/**
* Identify user anonymously with optional data
*/
identifyAnonymous(userData?: Record<string, unknown>): Promise<void>;
/**
* Start a playlist with given options
*/
startPlaylist(playlistId: string, options?: PlaylistOptions): Promise<void>;
/**
* Reset current playlist to initial state
*/
resetPlaylist(): void;
/**
* Destroy the player and clean up all resources
*/
destroy(): void;
/**
* Add event listener
*/
on<T extends SaltfishEventName>(eventName: T, listener: EventHandler<T>): void;
/**
* Remove event listener
*/
off<T extends SaltfishEventName>(eventName: T, listener: EventHandler<T>): boolean;
/**
* Get VideoManager instance for backwards compatibility
*/
get videoManager(): import("../managers/VideoManager").VideoManager;
/**
* Get all managers for debugging/testing purposes
*/
getManagers(): import("./services/ServiceInterfaces").ManagedManagers;
/**
* Get services for debugging/testing purposes
*/
getServices(): {
playerInitializationService: PlayerInitializationService;
userManagementService: UserManagementService;
playlistOrchestrator: PlaylistOrchestrator;
stateMachineActionHandler: StateMachineActionHandler;
managerOrchestrator: ManagerOrchestrator;
};
}
//# sourceMappingURL=SaltfishPlayer.d.ts.map