/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import type { AttributionPolicy } from "./mergeTree.js"; /** * Creates an {@link AttributionPolicy} which only tracks initial insertion of content. * @internal */ export declare function createInsertOnlyAttributionPolicy(): AttributionPolicy; /** * Creates an {@link AttributionPolicy} for tracking annotation of specific properties. * @param propNames - List of property names for which attribution should be tracked. * @returns A policy which only attributes annotation of the properties specified. * Keys for each property are stored under attribution channels of the same name--see example below. * * @example * * ```typescript * // Use this policy when creating your merge-tree: * const policy = createPropertyTrackingAttributionPolicyFactory("bold", "italic"); * // ... later, you can get attribution keys for the last time the "bold" and "italic" * // properties were changed on a segment using `getAtOffset`: * const lastBoldedAttributionKey = segment.attribution?.getAtOffset(0, "bold"); * const lastItalicizedAttributionKey = segment.attribution?.getAtOffset(0, "italic"); * ``` * @internal */ export declare function createPropertyTrackingAttributionPolicyFactory(...propNames: string[]): () => AttributionPolicy; /** * Creates an attribution policy which tracks insertion as well as annotation of certain property names. * This combines the policies creatable using {@link createPropertyTrackingAttributionPolicyFactory} and * {@link createInsertOnlyAttributionPolicy}: see there for more details. * @internal */ export declare function createPropertyTrackingAndInsertionAttributionPolicyFactory(...propNames: string[]): () => AttributionPolicy; //# sourceMappingURL=attributionPolicy.d.ts.map