export function sliceFromText(schema: any, text: string, marks?: readonly import('prosemirror-model').Mark[]): import('prosemirror-model').Slice; export function toSliceContent(schema: any, content: any): import('prosemirror-model').Slice; export function makeTextInsertIntent({ at, content, schema, user, date, source, replacementGroupHint, preserveExistingReviewState, }: { at: number; content: import('prosemirror-model').Slice | string; schema?: any; user: TrackedEditIntentUser; date: string; source: EditIntentSource; replacementGroupHint?: string; preserveExistingReviewState?: boolean; }): TrackedEditIntent; export function makeTextDeleteIntent({ from, to, user, date, source, replacementGroupHint, preserveExistingReviewState, }: { from: number; to: number; user: TrackedEditIntentUser; date: string; source: EditIntentSource; replacementGroupHint?: string; preserveExistingReviewState?: boolean; }): TrackedEditIntent; export function makeTextReplaceIntent({ from, to, content, schema, replacements, user, date, source, replacementGroupHint, preserveExistingReviewState, }: { from: number; to: number; content: import('prosemirror-model').Slice | string; schema?: any; replacements: "paired" | "independent"; user: TrackedEditIntentUser; date: string; source: EditIntentSource; replacementGroupHint?: string; preserveExistingReviewState?: boolean; }): TrackedEditIntent; export function makeFormatIntent({ kind, from, to, mark, user, date, source }: { kind: "format-apply" | "format-remove"; from: number; to: number; mark: import('prosemirror-model').Mark; user: TrackedEditIntentUser; date: string; source: EditIntentSource; }): TrackedEditIntent; export function intentKind(intent: TrackedEditIntent): string; export type EditIntentSource = "native" | "document-api" | "programmatic"; export type TrackedEditIntentUser = { name: string; email: string; image?: string | undefined; }; export type TrackedEditIntentBase = { source: EditIntentSource; user: TrackedEditIntentUser; date: string; replacementGroupHint?: string | undefined; /** * When true, the compiler may * probe for an adjacent tracked-delete span and move the insertion to * after it. Single-step user replace turns this on; multi-step transactions * leave it off so each granular op lands at its own position. */ probeForDeletionSpan?: boolean | undefined; /** * When true, the compiler * must not collapse/refine existing tracked review marks even if the * current user owns them. Used by explicit direct mutations that are * re-routed through tracking only to protect existing review state. */ preserveExistingReviewState?: boolean | undefined; }; export type TrackedEditIntent = (TrackedEditIntentBase & { kind: "text-insert"; at: number; content: import('prosemirror-model').Slice; }) | (TrackedEditIntentBase & { kind: "text-delete"; from: number; to: number; }) | (TrackedEditIntentBase & { kind: "text-replace"; from: number; to: number; content: import('prosemirror-model').Slice; replacements: "paired" | "independent"; }) | (TrackedEditIntentBase & { kind: "format-apply" | "format-remove"; from: number; to: number; mark: import('prosemirror-model').Mark; }); //# sourceMappingURL=edit-intent.d.ts.map