import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { RawContextKey } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service"; import { IChatModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel"; import { ISpeechToTextEvent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/speech/common/speechService"; import { ISpeechService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/speech/common/speechService.service"; import { IVoiceChatService } from "./voiceChatService.service.js"; export interface IVoiceChatSessionOptions { readonly usesAgents?: boolean; readonly model?: IChatModel; } export interface IVoiceChatTextEvent extends ISpeechToTextEvent { /** * This property will be `true` when the text recognized * so far only consists of agent prefixes (`@workspace`) * and/or command prefixes (`@workspace /fix`). */ readonly waitingForInput?: boolean; } export interface IVoiceChatSession { readonly onDidChange: Event; } export declare const VoiceChatInProgress: RawContextKey; export declare class VoiceChatService extends Disposable implements IVoiceChatService { private readonly speechService; private readonly chatAgentService; readonly _serviceBrand: undefined; private static readonly AGENT_PREFIX; private static readonly COMMAND_PREFIX; private static readonly PHRASES_LOWER; private static readonly PHRASES_UPPER; private static readonly CHAT_AGENT_ALIAS; private readonly voiceChatInProgress; private activeVoiceChatSessions; constructor(speechService: ISpeechService, chatAgentService: IChatAgentService, contextKeyService: IContextKeyService); private createPhrases; private toText; createVoiceChatSession(token: CancellationToken, options: IVoiceChatSessionOptions): Promise; private normalizeWord; }