/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import type { NormalizedFieldUpPath, NormalizedUpPath } from "../../core/index.js";
import type { DataEditor, OptionalFieldEditor, SequenceFieldEditor, RequiredFieldEditor } from "./defaultEditBuilder.js";
/**
 * An IDefaultEditBuilder implementation based on another IDefaultEditBuilder that uses a different content type for insertions.
 */
export declare class MappedEditBuilder<TBase, TAdapted, TDetachedRoot, TDetachedRoots> implements DataEditor<TAdapted, TDetachedRoot, TDetachedRoots> {
    private readonly baseBuilder;
    private readonly mapDelegate;
    constructor(baseBuilder: DataEditor<TBase, TDetachedRoot, TDetachedRoots>, mapDelegate: (input: TAdapted) => TBase);
    buildRoots(content: TAdapted): TDetachedRoots;
    valueField(field: NormalizedFieldUpPath): RequiredFieldEditor<TAdapted, TDetachedRoot>;
    optionalField(field: NormalizedFieldUpPath): OptionalFieldEditor<TAdapted, TDetachedRoot>;
    sequenceField(field: NormalizedFieldUpPath): SequenceFieldEditor<TAdapted, TDetachedRoots>;
    move(sourceField: NormalizedFieldUpPath, sourceIndex: number, count: number, destinationField: NormalizedFieldUpPath, destinationIndex: number): void;
    addNodeExistsConstraint(path: NormalizedUpPath): void;
    addNodeExistsConstraintOnRevert(path: NormalizedUpPath): void;
}
//# sourceMappingURL=mappedEditBuilder.d.ts.map