/**
* @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 { TextPartLanguageOption, TextPartLanguage, TextPartLanguageEditing, TextPartLanguageUI, TextPartLanguageCommand } from "./index.js";
declare module "@ckeditor/ckeditor5-core" {
	interface LanguageConfig {
		/**
		* The available {@link module:language/textpartlanguage~TextPartLanguage}
		* options that allow setting the language of parts of the content.
		*
		* This configuration option is available only with the {@glink api/language text part language feature} enabled.
		*
		* Refer to the [WCAG 3.1.2 Language of Parts](https://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-other-lang-id.html) specification
		* to learn more.
		*
		* To change the editor's UI language, refer to the {@glink getting-started/setup/ui-language Setting the UI language} guide.
		*
		* The default value is:
		*
		* ```ts
		* const config = [
		* 	{ title: 'Arabic', languageCode: 'ar' },
		* 	{ title: 'French', languageCode: 'fr' },
		* 	{ title: 'Spanish', languageCode: 'es' }
		* ];
		* ```
		*
		* The `title` property will be used by the text part language dropdown to render available options.
		*
		* The `languageCode` property is used for the `lang` attribute in the [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) format.
		*
		* You can also specify the optional `textDirection` property indicating the reading direction of the language.
		* Correct values are `ltr` and `rtl`. When the `textDirection` property is missing, the text part language feature will
		* specify the text direction by itself.
		*/
		textPartLanguage?: Array<TextPartLanguageOption>;
	}
	interface PluginsMap {
		[TextPartLanguage.pluginName]: TextPartLanguage;
		[TextPartLanguageEditing.pluginName]: TextPartLanguageEditing;
		[TextPartLanguageUI.pluginName]: TextPartLanguageUI;
	}
	interface CommandsMap {
		textPartLanguage: TextPartLanguageCommand;
	}
}
