import { ChatWelcomeMessageProvider } from '@theia/ai-chat-ui/lib/browser/chat-tree-view'; import * as React from '@theia/core/shared/react'; import { MarkdownRenderer } from '@theia/core/lib/browser'; import { CommandRegistry, DisposableCollection, Emitter, Event } from '@theia/core'; import { AgentService, FrontendLanguageModelRegistry } from '@theia/ai-core/lib/common'; import { PreferenceService } from '@theia/core/lib/common'; import { ChatAgentRecommendationService, ChatAgentService, ChatService } from '@theia/ai-chat/lib/common'; import { ToolConfirmationManager } from '@theia/ai-chat/lib/browser/chat-tool-preference-bindings'; import { AIActivationService } from '@theia/ai-core/lib/browser'; export declare class IdeChatWelcomeMessageProvider implements ChatWelcomeMessageProvider { readonly priority = 100; protected readonly markdownRenderer: MarkdownRenderer; protected readonly commandRegistry: CommandRegistry; protected languageModelRegistry: FrontendLanguageModelRegistry; protected preferenceService: PreferenceService; protected recommendationService: ChatAgentRecommendationService; protected chatAgentService: ChatAgentService; protected agentService: AgentService; protected readonly toolConfirmationManager: ToolConfirmationManager; protected readonly activationService: AIActivationService; protected readonly chatService: ChatService; protected readonly toDispose: DisposableCollection; protected _hasReadyModels: boolean; protected _modelRequirementBypassed: boolean; protected _defaultAgent: string; protected modelConfig: { hasModels: boolean; errorMessages: string[]; } | undefined; /** True once the user has any chat (active or persisted). Drives the compact "has-chats" welcome variant. */ protected hasAnyChat: boolean; protected readonly onStateChangedEmitter: Emitter; get onStateChanged(): Event; protected init(): void; protected checkLanguageModelStatus(): Promise; protected analyzeModelConfiguration(): Promise<{ hasModels: boolean; errorMessages: string[]; }>; protected notifyStateChanged(): void; /** * Recomputes {@link hasAnyChat} (true when the user has any titled active session or any * persisted session on disk). Fires a state change when the flag flips so the welcome * variant updates between the rich onboarding (no chats yet) and the compact mode. */ protected refreshHasAnyChat(): Promise; get hasReadyModels(): boolean; get modelRequirementBypassed(): boolean; get defaultAgent(): string; /** * Whether to show the tool-confirmation explainer on the welcome screen. * * Only shown while the user is still in the default state, i.e. every tool call is confirmed and * no per-tool overrides exist. Once the user has changed the default mode (e.g. to always allow * or to disable tools) or pre-approved individual tools (including via bulk approval), they are * already aware of the mechanism, so the explainer is suppressed. */ protected get shouldShowToolConfirmationInfo(): boolean; protected setModelRequirementBypassed(bypassed: boolean): void; protected setDefaultAgent(agentId: string): void; dispose(): void; renderWelcomeMessage(): React.ReactNode; protected renderWelcomeScreen(): React.ReactNode; protected renderToolConfirmationAlert(): React.ReactNode; protected renderModelConfigurationScreen(): React.ReactNode; protected renderAgentSelectionScreen(): React.ReactNode; renderDisabledMessage(): React.ReactNode; protected renderTrustRestrictedMessage(): React.ReactNode; protected renderPreferenceDisabledMessage(): React.ReactNode; } //# sourceMappingURL=ide-chat-welcome-message-provider.d.ts.map