/**
* @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 collaboration-core/suggestions/suggestionsconversion
* @publicApi
*/
import { Plugin, type PluginDependenciesOf } from "@ckeditor/ckeditor5-core";
import { SuggestionsConversionAlignment } from "./integrations/alignment.js";
import { SuggestionsConversionBasicStyles } from "./integrations/basicstyles.js";
import { SuggestionsConversionBookmark } from "./integrations/bookmark.js";
import { SuggestionsConversionFont } from "./integrations/font.js";
import { SuggestionsConversionFootnotes } from "./integrations/footnotes.js";
import { SuggestionsConversionGeneralHtmlSupport } from "./integrations/generalhtmlsupport.js";
import { SuggestionsConversionHighlight } from "./integrations/highlight.js";
import { SuggestionsConversionHtmlEmbed } from "./integrations/htmlembed.js";
import { SuggestionsConversionImage } from "./integrations/image.js";
import { SuggestionsConversionIndent } from "./integrations/indent.js";
import { SuggestionsConversionLineHeight } from "./integrations/lineheight.js";
import { SuggestionsConversionLink } from "./integrations/link.js";
import { SuggestionsConversionList } from "./integrations/list.js";
import { SuggestionsConversionListProperties } from "./integrations/listproperties.js";
import { SuggestionsConversionMultiLevelList } from "./integrations/multilevellist.js";
import { SuggestionsConversionTableHeadings } from "./integrations/tableheadings.js";
import { SuggestionsConversionTableProperties } from "./integrations/tableproperties.js";
import { SuggestionsConversionTableLayout } from "./integrations/tablelayout.js";
import { SuggestionsConversionUploadcare } from "./integrations/uploadcare.js";
import { SuggestionsConversionShiftEnter } from "./integrations/shiftenter.js";
import { SuggestionsConversionMediaEmbed } from "./integrations/mediaembed.js";
import { SuggestionsConversionTable } from "./integrations/table.js";
import { SuggestionsConversionHorizontalLine } from "./integrations/horizontalline.js";
import { SuggestionsConversionTableCellProperties } from "./integrations/tablecellproperties.js";
import { SuggestionsConversionTableFooters } from "./integrations/tablefooters.js";
/**
* Provides converters for suggestions markers that are shared by Track Changes and AI features.
*/
export declare class SuggestionsConversion extends Plugin {
	/**
	* @inheritDoc
	*/
	static get pluginName(): "SuggestionsConversion";
	static get requires(): PluginDependenciesOf<[SuggestionsConversionAlignment, SuggestionsConversionBasicStyles, SuggestionsConversionBookmark, SuggestionsConversionFont, SuggestionsConversionFootnotes, SuggestionsConversionGeneralHtmlSupport, SuggestionsConversionHighlight, SuggestionsConversionHorizontalLine, SuggestionsConversionHtmlEmbed, SuggestionsConversionImage, SuggestionsConversionIndent, SuggestionsConversionLineHeight, SuggestionsConversionLink, SuggestionsConversionList, SuggestionsConversionListProperties, SuggestionsConversionMediaEmbed, SuggestionsConversionMultiLevelList, SuggestionsConversionShiftEnter, SuggestionsConversionTable, SuggestionsConversionTableHeadings, SuggestionsConversionTableFooters, SuggestionsConversionTableLayout, SuggestionsConversionTableCellProperties, SuggestionsConversionTableProperties, SuggestionsConversionUploadcare]>;
	/**
	* @inheritDoc
	*/
	static override get isOfficialPlugin(): true;
	/**
	* @inheritDoc
	*/
	static override get isPremiumPlugin(): true;
	/**
	* @inheritDoc
	*/
	init(): void;
	/**
	* @inheritDoc
	*/
	afterInit(): void;
	/**
	* Registers given attribute `key` as a block attribute.
	*
	* This enables proper handling for the given attribute in other features, like Track Changes or AI features.
	*/
	registerBlockAttribute(key: string): void;
	/**
	* Registers given attribute `key` as an inline attribute.
	*
	* This enables proper handling for the given attribute in other features, like Track Changes or AI features.
	*/
	registerInlineAttribute(key: string): void;
	/**
	* Checks if given attribute `key` was registered as a block attribute.
	*/
	isBlockAttribute(key: string): boolean;
	/**
	* Checks if given attribute `key` was registered as an inline attribute.
	*/
	isInlineAttribute(key: string): boolean;
	/**
	* Checks if the given attribute `key` was already registered.
	*/
	isRegisteredAttribute(key: string): boolean;
}
