/**
* @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 { BalloonToolbar, BlockToolbar, ContextualBalloon, Notification, Dialog, AccessibilityHelp } from "./index.js";
import type { ToolbarConfig } from "@ckeditor/ckeditor5-core";
declare module "@ckeditor/ckeditor5-core" {
	interface EditorConfig {
		/**
		* Contextual toolbar configuration. Used by the {@link module:ui/toolbar/balloon/balloontoolbar~BalloonToolbar}
		* feature.
		*
		* ## Configuring toolbar items
		*
		* ```ts
		* const config = {
		* 	balloonToolbar: [ 'bold', 'italic', 'undo', 'redo' ]
		* };
		* ```
		*
		* You can also use `'|'` to create a separator between groups of items:
		*
		* ```ts
		* const config = {
		* 	balloonToolbar: [ 'bold', 'italic', '|', 'undo', 'redo' ]
		* };
		* ```
		*
		* Read also about configuring the main editor toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
		*
		* ## Configuring items grouping
		*
		* You can prevent automatic items grouping by setting the `shouldNotGroupWhenFull` option:
		*
		* ```ts
		* const config = {
		* 	balloonToolbar: {
		* 		items: [ 'bold', 'italic', 'undo', 'redo' ],
		* 		shouldNotGroupWhenFull: true
		* 	},
		* };
		* ```
		*/
		balloonToolbar?: ToolbarConfig;
		/**
		* The block toolbar configuration. Used by the {@link module:ui/toolbar/block/blocktoolbar~BlockToolbar}
		* feature.
		*
		* ```ts
		* const config = {
		* 	blockToolbar: [ 'paragraph', 'heading1', 'heading2', 'bulletedList', 'numberedList' ]
		* };
		* ```
		*
		* You can also use `'|'` to create a separator between groups of items:
		*
		* ```ts
		* const config = {
		* 	blockToolbar: [ 'paragraph', 'heading1', 'heading2', '|', 'bulletedList', 'numberedList' ]
		* };
		* ```
		*
		* ## Configuring items grouping
		*
		* You can prevent automatic items grouping by setting the `shouldNotGroupWhenFull` option:
		*
		* ```ts
		* const config = {
		* 	blockToolbar: {
		* 		items: [ 'paragraph', 'heading1', 'heading2', '|', 'bulletedList', 'numberedList' ],
		* 		shouldNotGroupWhenFull: true
		* 	},
		* };
		* ```
		*
		* Read more about configuring the main editor toolbar in {@link module:core/editor/editorconfig~EditorConfig#toolbar}.
		*/
		blockToolbar?: ToolbarConfig;
	}
	interface PluginsMap {
		[BalloonToolbar.pluginName]: BalloonToolbar;
		[BlockToolbar.pluginName]: BlockToolbar;
		[ContextualBalloon.pluginName]: ContextualBalloon;
		[Dialog.pluginName]: Dialog;
		[Notification.pluginName]: Notification;
		[AccessibilityHelp.pluginName]: AccessibilityHelp;
	}
}
