/**
 * @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
 */
import type { AIConfig } from './aiconfig.js';
import type { AIAssistant } from './aiassistant/aiassistant.js';
import type { ShowAIAssistantCommand } from './aiassistant/ui/showaiassistantcommand.js';
import type { AIAssistantEditing } from './aiassistant/aiassistantediting.js';
import type { AIAssistantUI } from './aiassistant/aiassistantui.js';
import type { AIAdapter } from './aiassistant/adapters/aiadapter.js';
import type { AITabs } from './aitabs/aitabs.js';
import type { AIEditorIntegration } from './aieditorintegration/aieditorintegration.js';
import type { AIToggleButtonUI } from './aieditorintegration/aitogglebutton/aitogglebuttonui.js';
import type { ToggleAICommand } from './aieditorintegration/aitogglebutton/toggleaicommand.js';
import type { AIConnector } from './aicore/aiconnector.js';
import type { AIChat } from './aichat/aichat.js';
import type { AIChatController } from './aichat/aichatcontroller.js';
import type { AIEditing } from './aicore/aiediting.js';
import type { AIChatUI } from './aichat/aichatui.js';
import type { AIActions } from './aiactions/aiactions.js';
import type { AIBalloon } from './aiballoon/aiballoon.js';
import type { AIChatBalloon } from './aichat/aichatballoon.js';
import type { AIReviewMode } from './aireviewmode/aireviewmode.js';
import type { AIReviewModeController } from './aireviewmode/aireviewmodecontroller.js';
import type { AIReviewModeUI } from './aireviewmode/aireviewmodeui.js';
import type { AITranslate } from './aitranslate/aitranslate.js';
import type { AITranslateController } from './aitranslate/aitranslatecontroller.js';
import type { AITranslateUI } from './aitranslate/aitranslateui.js';
import { type AIChatShortcuts } from './aichatshortcuts/aichatshortcuts.js';
declare module '@ckeditor/ckeditor5-core' {
    interface EditorConfig {
        /**
         * Configuration for AI features.
         */
        ai?: AIConfig;
    }
    interface PluginsMap {
        [AIAdapter.pluginName]: AIAdapter;
        [AIAssistant.pluginName]: AIAssistant;
        [AIAssistantUI.pluginName]: AIAssistantUI;
        [AIAssistantEditing.pluginName]: AIAssistantEditing;
        [AITabs.pluginName]: AITabs;
        [AIEditorIntegration.pluginName]: AIEditorIntegration;
        [AIToggleButtonUI.pluginName]: AIToggleButtonUI;
        [AIConnector.pluginName]: AIConnector;
        [AIChat.pluginName]: AIChat;
        [AIChatShortcuts.pluginName]: AIChatShortcuts;
        [AIChatBalloon.pluginName]: AIChatBalloon;
        [AIChatController.pluginName]: AIChatController;
        [AIEditing.pluginName]: AIEditing;
        [AIChatUI.pluginName]: AIChatUI;
        [AIActions.pluginName]: AIActions;
        [AIBalloon.pluginName]: AIBalloon;
        [AIReviewMode.pluginName]: AIReviewMode;
        [AIReviewModeController.pluginName]: AIReviewModeController;
        [AIReviewModeUI.pluginName]: AIReviewModeUI;
        [AITranslate.pluginName]: AITranslate;
        [AITranslateController.pluginName]: AITranslateController;
        [AITranslateUI.pluginName]: AITranslateUI;
    }
    interface CommandsMap {
        showAIAssistant: ShowAIAssistantCommand;
        toggleAI: ToggleAICommand;
    }
}
