/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { ChangeAtomId, DeltaDetachedNodeId, DeltaFieldChanges, DeltaFieldMap, DeltaMark, DeltaRoot } from "../core";
export declare function nodeIdFromChangeAtom(changeAtom: ChangeAtomId): DeltaDetachedNodeId;
/**
 * Converts a `Delta.Root` whose tree content is represented with by `TIn` instances
 * into a `Delta.Root`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 root - The delta to convert. Not mutated.
 * @param func - The functions used to map tree content.
 */
export declare function mapRootChanges<TIn, TOut>(root: DeltaRoot<TIn>, func: (tree: TIn) => TOut): DeltaRoot<TOut>;
/**
 * 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 mapFieldsChanges<TIn, TOut>(fields: DeltaFieldMap<TIn>, func: (tree: TIn) => TOut): DeltaFieldMap<TOut>;
/**
 * Converts a `Delta.FieldChanges` whose tree content is represented with by `TIn` instances
 * into a `Delta.FieldChanges`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 fieldChanges - The instance to convert. Not mutated.
 * @param func - The functions used to map tree content.
 */
export declare function mapFieldChanges<TIn, TOut>(fieldChanges: DeltaFieldChanges<TIn>, func: (tree: TIn) => TOut): DeltaFieldChanges<TOut>;
/**
 * Converts a list of `Delta.Mark`s whose tree content is represented by `TIn` instances
 * into a list of `Delta.Mark`s whose tree content is represented 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: readonly DeltaMark<TIn>[], func: (tree: TIn) => TOut): DeltaMark<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: DeltaMark<TIn>, func: (tree: TIn) => TOut): DeltaMark<TOut>;
//# sourceMappingURL=deltaUtils.d.ts.map