/** * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * @module ai/aichat/ui/controls/aichatpromptcapabilitiesview */ import { type Locale } from "@ckeditor/ckeditor5-utils"; import { View } from "@ckeditor/ckeditor5-ui"; import { AIModelSelectorView } from "../../../aicore/ui/aimodelselectorview.js"; import { type AIModelData } from "../../../aicore/aiconnector.js"; /** * Manages the prompt capabilities UI for AI chat, including web search, commands functionality, and model selection. */ export declare class AIChatPromptCapabilitiesView extends View { /** * Indicates whether the web search is active. * * @observable */ webSearchActive: boolean; /** * Indicates whether reasoning is active. * * @observable */ reasoningActive: boolean; /** * Indicates whether the model selection UI is enabled. The selection gets disabled after the first * message is sent to the API, as the model cannot be changed then. * * @observable */ modelSelectorEnabled: boolean; constructor(locale: Locale); /** * Sets the web search state. */ setWebSearch(isWebSearchEnabled: boolean): void; /** * Sets the reasoning state. */ setReasoning(isReasoningEnabled: boolean): void; /** * Populates the model selector with the given models. */ setModelList(models: Array, hideModels: boolean): void; /** * Reflects the selected model in the selector and the capability buttons. */ setModel(model: AIModelData | null): void; /** * Enables the model selector dropdown. */ enableModelSelector(): void; /** * Disables the model selector dropdown, optionally hiding it entirely. */ disableModelSelector(hideSelector: boolean): void; } /** * Creates the shared model selector configured for AI Chat: chat-specific CSS classes, per-model * capability rendering, and the "disabled" tooltip shown once the model can no longer be changed. */ export declare function createChatModelSelector(locale: Locale): AIModelSelectorView; export type AIChatUIToggleWebSearchEvent = { name: "toggleWebSearch"; args: []; }; export type AIChatUIToggleReasoningEvent = { name: "toggleReasoning"; args: []; }; export type AIChatUISelectModelEvent = { name: "selectModel"; args: [model: AIModelData]; };