/**
 * @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 { EditorConfig } from 'ckeditor5';
/**
 * Assigns the `data` property to the correct field in the editor configuration object, depending on the loaded CKEditor version.
 *
 * At this moment, CKEditor 5 might be loaded in two different versions:
 *
 * 1. LTS-one 47.x - It supports both `initialData` and does not support `root.initialData`. It means
 *    that the `data` property should be assigned to `initialData` field in the configuration object.
 *
 * 2. Latest 48.x and newer - It supports `root.initialData` and deprecates `initialData` (which'll be removed in the future).
 *    It means that the `data` property should be assigned to `root.initialData` field in the configuration object.
 *
 * @param config The editor configuration.
 * @param data The editor data. It is used to log warnings when both `data` and `initialData` are specified.
 */
export declare function assignDataPropToSingleRootEditorConfig(config: Record<string, any>, data: string | undefined): EditorConfig;
/**
 * Assigns the `attributes` property to the correct field in the editor configuration object, depending on the loaded CKEditor version.
 *
 * The version compatibility matrix is the same as in `assignDataPropToSingleRootEditorConfig`.
 *
 * @param config The editor configuration.
 * @param attributes The editor roots attributes.
 * @returns The editor configuration with assigned `attributes` property.
 */
export declare function assignMultiRootAttributesPropToEditorConfig(config: Record<string, any>, attributes?: Record<string, Record<string, any>> | undefined): EditorConfig;
/**
 * Retrieve information about the base CKEditor bundle installation and checks if it supports per-root configuration.
 * It may return `null` if the editor is not loaded yet, or something else removed global editor versions variable.
 * In such case, we will assume that the loaded CKEditor version is not compatible with per-root configuration
 * and use the fallback configuration.
 *
 * @returns `true` if the loaded CKEditor version supports per-root configuration, `false` otherwise.
 */
export declare function isRootsMapConfigurationSupported(): boolean;
