voice-agent
Version:
A Vue.js voice agent plugin for real-time voice communication via WebSocket
81 lines (80 loc) • 1.8 kB
TypeScript
import { VoiceAgentConfig, VoiceAgentStatus } from '../types';
interface AppState {
isModalOpen: boolean;
isConnected: boolean;
isRecording: boolean;
isReady: boolean;
isInitializing: boolean;
connectionStatus: string;
voiceStatus: string;
initStep: string;
selectedPhoneNumber: string;
showPhoneDropdown: boolean;
}
export declare class StateManager {
private state;
private config;
constructor();
/**
* 初始化状态管理器
*/
init(config: VoiceAgentConfig): void;
/**
* 初始化状态文本
*/
private initializeStatusText;
/**
* 设置状态
*/
setState(updates: Partial<AppState>): void;
/**
* 获取状态
*/
getState(): AppState;
/**
* 设置初始化状态
*/
setInitializing(isInitializing: boolean, step?: string): void;
/**
* 设置连接状态
*/
setConnected(isConnected: boolean): void;
/**
* 设置录音状态
*/
setRecording(isRecording: boolean): void;
/**
* 设置模态框状态
*/
setModalOpen(isOpen: boolean): void;
/**
* 设置就绪状态
*/
setReady(isReady: boolean): void;
/**
* 设置选中的电话号码
*/
setSelectedPhoneNumber(phoneNumber: string): void;
/**
* 切换电话下拉框显示状态
*/
togglePhoneDropdown(): void;
/**
* 关闭电话下拉框
*/
closePhoneDropdown(): void;
/**
* 重置所有状态
*/
reset(): void;
/**
* 获取当前运行状态
*/
isRunning(): boolean;
/**
* 获取详细状态信息
*/
getDetailedStatus(conversationCount?: number): VoiceAgentStatus;
}
export {};
//# sourceMappingURL=stateManager.d.ts.map