/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { TaggedChange } from "../../core";
import { ChangesetTag } from "./changeset";
import { SequenceChangeset } from "./sequenceChangeset";
/**
 * Dummy value used in place of the actual tag.
 * TODO: give `invert` access real tag data.
 */
export declare const DUMMY_INVERT_TAG: ChangesetTag;
/**
 * Dummy value used in place of actual repair data.
 * TODO: give `invert` access real repair data.
 */
export declare const DUMMY_INVERSE_VALUE = "Dummy inverse value";
/**
 * Inverts a given changeset.
 * @param change - The changeset to produce the inverse of.
 * @returns The inverse of the given `change` such that the inverse can be applied after `change`.
 *
 * @remarks WARNING! This implementation is incomplete:
 *
 * - It is unable to produce adequate inverses for set-value and delete operations.
 * This is because changesets are not given IDs.
 *
 * - Support for moves is not implemented.
 *
 * - Support for slices is not implemented.
 */
export declare function invert(change: TaggedChange<SequenceChangeset>): SequenceChangeset;
//# sourceMappingURL=invert.d.ts.map