/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { Delta } from "../core";
import { Mutable } from "../util";
/**
 * Converts a `Delta.FieldMarks` whose tree content is represented with by `TIn` instances
 * into a `Delta.FieldMarks`whose tree content is represented with by `TOut` instances.
 *
 * This function is useful for converting `Delta`s that represent tree content with cursors
 * into `Delta`s that represent tree content with a deep-comparable representation of the content.
 * See {@link assertDeltaEqual}.
 * @param fields - The Map of fields to convert. Not mutated.
 * @param func - The functions used to map tree content.
 */
export declare function mapFieldMarks<TIn, TOut>(fields: Delta.FieldMarks<TIn>, func: (tree: TIn) => TOut): Delta.FieldMarks<TOut>;
/**
 * Converts a `Delta.MarkList` whose tree content is represented with by `TIn` instances
 * into a `Delta.MarkList`whose tree content is represented with by `TOut` instances.
 *
 * This function is useful for converting `Delta`s that represent tree content with cursors
 * into `Delta`s that represent tree content with a deep-comparable representation of the content.
 * See {@link assertMarkListEqual}.
 * @param list - The list of marks to convert. Not mutated.
 * @param func - The functions used to map tree content.
 */
export declare function mapMarkList<TIn, TOut>(list: Delta.MarkList<TIn>, func: (tree: TIn) => TOut): Delta.MarkList<TOut>;
/**
 * Converts a `Delta.Mark` whose tree content is represented with by `TIn` instances
 * into a `Delta.Mark`whose tree content is represented with by `TOut` instances.
 *
 * This function is useful for converting `Delta`s that represent tree content with cursors
 * into `Delta`s that represent tree content with a deep-comparable representation of the content.
 * See {@link assertMarkListEqual}.
 * @param mark - The mark to convert. Not mutated.
 * @param func - The functions used to map tree content.
 */
export declare function mapMark<TIn, TOut>(mark: Delta.Mark<TIn>, func: (tree: TIn) => TOut): Delta.Mark<TOut>;
export declare function populateChildModifications(modifications: Delta.HasModifications, deltaMark: Mutable<Delta.HasModifications>): void;
//# sourceMappingURL=deltaUtils.d.ts.map