/** * @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/aichatcontrolsview */ import type { Locale } from "@ckeditor/ckeditor5-utils"; import { View, type BodyCollection } from "@ckeditor/ckeditor5-ui"; import { type AIAddContextOptionsState, type AIContextProvider, type AIContextResourceState } from "../model/aichatcontext.js"; import { type AIContextItem } from "../../aicore/model/aicontext.js"; import { type AIModelData } from "../../aicore/aiconnector.js"; export declare class AIChatControlsView extends View { /** * The loading state of the controls. * * @observable */ isLoading: boolean; /** * The disabled state of the controls. * * @observable */ isDisabled: boolean; /** * Indicates if the active model is available. * * @observable */ isModelAvailable: boolean; constructor(locale: Locale, options: { bodyCollection: BodyCollection; contextResourcesSearchInputVisibleFrom?: number; filesEnabled: boolean; }); /** * @inheritDoc */ override render(): void; /** * Adds an item chip to the current context list. */ addContextItem(contextItem: AIContextItem, isLoading: boolean): void; /** * Removes an item from the context as chip. */ removeContextItem(id: string): void; /** * Sets the loading state of an item chip in the current context list. */ setContextItemLoading(uiId: string, isLoading: boolean): void; /** * Sets the upload in progress state. */ setIsUploadInProgress(isUploadInProgress: boolean): void; /** * Sets the conversation context chips. */ setConversationContext(contextItems: Array): void; /** * Clears the pending context UI. */ clearPendingContextUI(): void; /** * Clears the conversation context UI. */ clearConversationContextUI(): void; /** * Updates the state of a specific resource in the balloon views. */ updateResourceState(sourceId: string, resourceId: string, isInContext: boolean): void; /** * Sets the web search state. */ setWebSearch(isWebSearchEnabled: boolean): void; /** * Sets the reasoning state. */ setReasoning(isReasoningEnabled: boolean): void; /** * Resets the message input. */ resetMessageInput(): void; /** * Sets the add context options. */ setAddContextOptions(options: AIAddContextOptionsState): void; /** * Sets the placeholder text for the prompt input. */ setInputPlaceholder(placeholder: string): void; /** * Sets model list dropdown. */ setModelList(models: Array, hideModels: boolean): void; /** * Sets the selected model in the model list dropdown. */ setModel(model: AIModelData | null): void; /** * Enables the model selector in the prompt capabilities view. */ enableModelSelector(): void; /** * Disables the model selector in the prompt capabilities view. */ disableModelSelector(hideSelector: boolean): void; /** * Populates a source resource balloon with loaded resources. */ populateSourceResourceBalloon(sourceId: string, source: AIContextProvider, resources: Array, uid: string): void; /** * Closes the source resource balloon and cleans up its state. */ closeSourceResourceBalloon(sourceId: string): void; /** * Focuses the prompt input. */ focusPromptInput(useHighlight?: boolean): void; /** * Sets the value of the prompt input. */ setPromptInputValue(value: string): void; }