/** * @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/aiballoon/aiballoon */ import { ContextPlugin } from '@ckeditor/ckeditor5-core'; import { AIEditing } from '../aicore/aiediting.js'; import '../../theme/aiballoon/aiballoon.css'; import { type ModelRange } from '@ckeditor/ckeditor5-engine'; import { type AIBalloonView } from './ui/aiballoonview.js'; /** * Event names that can be fired by the AI Balloon plugin. * Includes all view events plus dialog-specific events. */ export declare const AI_BALLOON_EVENT_NAMES: readonly ["applySuggestion", "insertSuggestion", "showNext", "showPrevious", "dialogClosed", "selectionRemoved"]; /** * Configuration object for opening the AI Balloon. */ export interface AIBalloonConfig { id: string; index: number; title: string; icon?: string; mainView: AIBalloonView; ranges: Array; class: string; } /** * The AI Balloon plugin provides a balloon dialog interface for displaying and interacting with AI suggestions. */ export declare class AIBalloon extends ContextPlugin { /** * @inheritDoc */ static get requires(): readonly [typeof AIEditing]; /** * @inheritDoc */ static get pluginName(): "AIBalloon"; /** * @inheritDoc */ static get isOfficialPlugin(): true; /** * @inheritDoc */ static get isPremiumPlugin(): true; /** * A flag indicating whether the AI Balloon dialog is currently open. */ isOpen: boolean; /** * Opens the AI Balloon dialog with the provided configuration. * * @param config Configuration object containing dialog settings and content data */ open(config: AIBalloonConfig): void; /** * Closes the currently open AI Balloon dialog. */ close(): void; } /** * Event fired when the AI balloon dialog is closed. As opposed to `beforeDialogClosed`, this event is fired * after the dialog's core view has been destroyed and the dialog is no longer visible. */ export type AIBalloonDialogClosedEvent = { name: 'dialogClosed'; args: [{ id: string; }]; }; /** * Event fired when the AI balloon dialog is about to be closed. It gives plugins a chance * to salvage their views if they were injected into the dialog before they get destroyed along with * the dialog's core view. */ export type AIBalloonBeforeDialogClosedEvent = { name: 'beforeDialogClosed'; args: [{ id: string; }]; }; /** * Event fired when the AI selection related to the balloon is removed. */ export type AIBalloonSelectionRemovedEvent = { name: 'selectionRemoved'; args: []; }; /** * Event fired when user clicks the next suggestion button in the rotator. */ export type AIBalloonShowNextSuggestionEvent = { name: 'showNext'; args: []; }; /** * Event fired when user clicks the previous suggestion button in the rotator. */ export type AIBalloonShowPreviousSuggestionEvent = { name: 'showPrevious'; args: []; };