@voxket-ai/voxket-live
Version:
A React widget for embedding Voxket-powered audio/video/chat experiences.
65 lines (64 loc) • 2.64 kB
TypeScript
import { ThemeType } from '../../styles';
export type ControlBarModality = 'voice' | 'chat' | 'video';
export interface UnifiedControlBarProps {
/** Current modality (voice, chat, or video) */
modality: ControlBarModality;
/** Theme for styling */
theme: ThemeType;
/** Disabled state for all controls */
disabled?: boolean;
/** Show microphone toggle */
showMicrophone?: boolean;
/** Microphone enabled state */
microphoneEnabled?: boolean;
/** Microphone loading state */
microphoneLoading?: boolean;
/** Microphone toggle handler */
onToggleMicrophone?: () => void;
/** Show camera toggle */
showCamera?: boolean;
/** Camera enabled state */
cameraEnabled?: boolean;
/** Camera loading state */
cameraLoading?: boolean;
/** Camera toggle handler */
onToggleCamera?: () => void;
/** Show screen share toggle */
showScreenShare?: boolean;
/** Screen share enabled state */
screenShareEnabled?: boolean;
/** Screen share loading state */
screenShareLoading?: boolean;
/** Screen share toggle handler */
onToggleScreenShare?: () => void;
/** Show flip camera button */
showFlipCamera?: boolean;
/** Flip camera loading state */
flipCameraLoading?: boolean;
/** Flip camera handler */
onFlipCamera?: () => void;
/** Show chat/transcription toggle */
showChatToggle?: boolean;
/** Chat open state */
chatOpen?: boolean;
/** Chat toggle handler */
onToggleChat?: () => void;
/** Show text input field */
showTextInput?: boolean;
/** Text input placeholder */
textInputPlaceholder?: string;
/** Text send handler */
onSendText?: (text: string) => void;
/** Attachment send handler */
onSendAttachments?: (files: File[]) => void;
/** Support attachment uploads */
supportsAttachments?: boolean;
/** Show end call button */
showEndCall?: boolean;
/** End call handler */
onEndCall?: () => void;
}
export declare function UnifiedControlBar({ modality, theme, disabled, showMicrophone, microphoneEnabled, microphoneLoading, onToggleMicrophone, showCamera, cameraEnabled, cameraLoading, onToggleCamera, showFlipCamera, flipCameraLoading, onFlipCamera, showScreenShare, screenShareEnabled, screenShareLoading, onToggleScreenShare, showChatToggle, chatOpen, onToggleChat, showTextInput, textInputPlaceholder, onSendText, onSendAttachments, supportsAttachments, showEndCall, onEndCall, }: UnifiedControlBarProps): import("react/jsx-runtime").JSX.Element;
export declare namespace UnifiedControlBar {
var displayName: string;
}