@voxket-ai/voxket-live
Version:
A React widget for embedding Voxket-powered audio/video/chat experiences.
49 lines (48 loc) • 1.47 kB
TypeScript
import { Room } from 'livekit-client';
import { VoxketEventEmitter } from '../core/event-emitter';
import { VoxketInteractiveView, ViewPresentationMode, InteractiveUIState, RpcEvents } from '../types/rpc';
import { VoxketEvents } from '../types/core';
/**
* Manager for Frontend RPC functionality
*/
export declare class RpcManager extends VoxketEventEmitter<RpcEvents> {
private room;
private registeredMethods;
private activeInteractions;
private eventEmitter;
private currentInteraction;
constructor(eventEmitter: VoxketEventEmitter<VoxketEvents>, room?: Room);
/**
* Set the LiveKit room instance
*/
setRoom(room: Room): void;
/**
* Register a frontend RPC method with a React component
*/
registerFrontendRPC(methodName: string, component: VoxketInteractiveView, presentationMode?: ViewPresentationMode): Promise<void>;
private awaitUserInteraction;
/**
* Clear an active interaction
*/
private clearInteraction;
/**
* Get current interaction state
*/
getCurrentInteraction(): InteractiveUIState | null;
/**
* Dismiss current interaction
*/
dismissCurrentInteraction(): void;
/**
* Get all registered methods
*/
getRegisteredMethods(): string[];
/**
* Unregister a method
*/
unregisterMethod(methodName: string): void;
/**
* Clear all registrations and active interactions
*/
clear(): void;
}