import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IAgentSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service"; import { IAgentTitleBarStatusService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.service"; import { IVoicePlaybackService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/voicePlaybackService.service"; import { IVoiceSessionController } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.service"; import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service"; import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { AgentsVoiceWidget } from "./agentsVoiceWidget.js"; export interface IWidgetBindingServices { readonly voiceSessionController: IVoiceSessionController; readonly agentSessionsService: IAgentSessionsService; readonly agentTitleBarStatusService: IAgentTitleBarStatusService; readonly voicePlaybackService: IVoicePlaybackService; readonly environmentService: IWorkbenchEnvironmentService; readonly chatService?: IChatService; readonly configurationService?: IConfigurationService; } /** * Wire all controller observables and session/playback service events into the * widget. Used by both the floating agentsVoice window and the in-pane voice * bar so they stay in lock-step. */ export declare function bindWidgetToController(widget: AgentsVoiceWidget, services: IWidgetBindingServices): IDisposable;