import { MarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service"; import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service"; import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service"; import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service"; import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service"; import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service"; import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service"; import { TipTrackingCommands } from "./chatTipStorageKeys.js"; import { IChatTipService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatTipService.service"; export { TipTrackingCommands }; /** @deprecated Use TipTrackingCommands.AttachFilesReferenceUsed */ export declare const ATTACH_FILES_REFERENCE_TRACKING_COMMAND: "chat.tips.attachFiles.referenceUsed"; /** @deprecated Use TipTrackingCommands.CreateAgentInstructionsUsed */ export declare const CREATE_AGENT_INSTRUCTIONS_TRACKING_COMMAND: "chat.tips.createAgentInstructions.commandUsed"; /** @deprecated Use TipTrackingCommands.CreatePromptUsed */ export declare const CREATE_PROMPT_TRACKING_COMMAND: "chat.tips.createPrompt.commandUsed"; /** @deprecated Use TipTrackingCommands.CreateAgentUsed */ export declare const CREATE_AGENT_TRACKING_COMMAND: "chat.tips.createAgent.commandUsed"; /** @deprecated Use TipTrackingCommands.CreateSkillUsed */ export declare const CREATE_SKILL_TRACKING_COMMAND: "chat.tips.createSkill.commandUsed"; /** @deprecated Use TipTrackingCommands.ForkConversationUsed */ export declare const FORK_CONVERSATION_TRACKING_COMMAND: "chat.tips.forkConversation.commandUsed"; export interface IChatTip { readonly id: string; readonly content: MarkdownString; readonly enabledCommands?: readonly string[]; } export type { ITipDefinition } from "./chatTipCatalog.js"; export { TipEligibilityTracker } from "./chatTipEligibilityTracker.js"; export declare class ChatTipService extends Disposable implements IChatTipService { private readonly _productService; private readonly _configurationService; private readonly _storageService; private readonly _chatService; private readonly _logService; private readonly _chatEntitlementService; private readonly _commandService; private readonly _telemetryService; private readonly _keybindingService; readonly _serviceBrand: undefined; private readonly _onDidDismissTip; readonly onDidDismissTip: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly _onDidNavigateTip; readonly onDidNavigateTip: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly _onDidHideTip; readonly onDidHideTip: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly _onDidDisableTips; readonly onDidDisableTips: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; /** * The request ID that was assigned a tip (for stable rerenders). */ private _tipRequestId; /** * The tip that was shown (for stable rerenders). */ private _shownTip; /** * The scoped context key service from the chat widget, stored when * {@link getWelcomeTip} is first called so that navigation methods * can evaluate when-clause eligibility against the correct context. */ private _contextKeyService; private readonly _tracker; private readonly _createSlashCommandsUsageTracker; private _thinkingPhrasesEverModified; private _tipsHiddenForSession; private readonly _tipCommandListener; constructor(_productService: IProductService, _configurationService: IConfigurationService, _storageService: IStorageService, _chatService: IChatService, instantiationService: IInstantiationService, _logService: ILogService, _chatEntitlementService: IChatEntitlementService, _commandService: ICommandService, _telemetryService: ITelemetryService, _keybindingService: IKeybindingService); private _hasFileOrFolderReference; private _getSlashCommandTrackingId; private _toSlashCommandTrackingId; recordSlashCommandUsage(command: string): void; resetSession(): void; dismissTip(): void; dismissTipForSession(): void; clearDismissedTips(): void; private _getDismissedTipIds; hideTip(): void; hideTipsForSession(): void; disableTips(): Promise; getWelcomeTip(contextKeyService: IContextKeyService): IChatTip | undefined; private _findNextEligibleTip; private _hideShownTipIfNowIneligible; private _pickTip; private _selectTipByTier; navigateToNextTip(): IChatTip | undefined; navigateToPreviousTip(): IChatTip | undefined; getNextEligibleTip(): IChatTip | undefined; private _getNextTipFromOrderedList; hasMultipleTips(): boolean; private _navigateTip; private _hasNavigableTip; private _getOrderedEligibleTips; private _sortByPriorityAndCatalogOrder; private _isEligible; private _isSettingModified; private _getCurrentChatModelId; private _isChatLocation; private _isChatQuotaExceeded; private _isCopilotEnabled; private _createTip; private _logTipTelemetry; private _trackTipCommandClicks; private _readApplicationWithProfileFallback; }