@voxket-ai/voxket-live
Version:
A React widget for embedding Voxket-powered audio/video/chat experiences.
35 lines (34 loc) • 1.58 kB
TypeScript
import { default as React, ReactNode } from 'react';
import { VoxketClient } from '../core/client';
import { VoxketConfig, VoxketSession, SessionState, SessionMetrics, VoxketError, ParticipantInfo, ChatMessage, TranscriptionSegment } from '../types/core';
export interface VoxketContextValue {
client: VoxketClient | null;
isConnected: boolean;
isConnecting: boolean;
connectionError: VoxketError | null;
currentSession: VoxketSession | null;
sessionState: SessionState;
sessionMetrics: SessionMetrics | null;
participants: ParticipantInfo[];
chatMessages: ChatMessage[];
transcriptions: TranscriptionSegment[];
connect: () => Promise<void>;
disconnect: () => Promise<void>;
createSession: (agentId: string, options?: any) => Promise<VoxketSession>;
endSession: () => Promise<SessionMetrics | null>;
sendChatMessage: (message: string) => Promise<void>;
setMicrophoneEnabled: (enabled: boolean) => Promise<void>;
setCameraEnabled: (enabled: boolean) => Promise<void>;
startScreenShare: () => Promise<void>;
stopScreenShare: () => Promise<void>;
}
declare const VoxketContext: React.Context<VoxketContextValue | null>;
export interface VoxketProviderProps {
config: VoxketConfig;
children: ReactNode;
autoConnect?: boolean;
client?: VoxketClient;
}
export declare function VoxketProvider({ config, children, autoConnect, client: existingClient }: VoxketProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useVoxket(): VoxketContextValue;
export { VoxketContext };