/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { IdAllocator } from "../../util";
import { FieldChangeHandler, NodeChangeComposer, RevisionMetadataSource } from "./fieldChangeHandler";
import { FieldKindWithEditor } from "./fieldKind";
import { GenericChangeset } from "./genericFieldKindTypes";
/**
 * {@link FieldChangeHandler} implementation for {@link GenericChangeset}.
 */
export declare const genericChangeHandler: FieldChangeHandler<GenericChangeset>;
/**
 * {@link FieldKind} used to represent changes to elements of a field in a field-kind-agnostic format.
 */
export declare const genericFieldKind: FieldKindWithEditor;
/**
 * Converts a {@link GenericChangeset} into a field-kind-specific `TChange`.
 * @param changeset - The generic changeset to convert.
 * @param target - The {@link FieldChangeHandler} for the `FieldKind` that the returned change should target.
 * @param composeChild - A delegate to compose {@link NodeChangeset}s.
 * @returns An equivalent changeset as represented by the `target` field-kind.
 */
export declare function convertGenericChange<TChange>(changeset: GenericChangeset, target: FieldChangeHandler<TChange>, composeChild: NodeChangeComposer, genId: IdAllocator, revisionMetadata: RevisionMetadataSource): TChange;
export declare function newGenericChangeset(): GenericChangeset;
//# sourceMappingURL=genericFieldKind.d.ts.map