import { Text } from "../../doc/src"; import { EditorState } from "./state"; import { EditorSelection, SelectionRange } from "./selection"; import { Change, ChangeSet } from "./change"; export declare class MetaSlot<_T> { /** @internal */ name: string; constructor(debugName?: string); static time: MetaSlot; static changeTabSize: MetaSlot; static changeLineSeparator: MetaSlot; static preserveGoalColumn: MetaSlot; static userEvent: MetaSlot; static addToHistory: MetaSlot; } export declare class Transaction { readonly startState: EditorState; readonly changes: ChangeSet; readonly docs: ReadonlyArray; readonly selection: EditorSelection; private readonly meta; private readonly flags; private constructor(); static start(state: EditorState, time?: number): Transaction; readonly doc: Text; setMeta(slot: MetaSlot, value: T): Transaction; getMeta(slot: MetaSlot): T | undefined; change(change: Change, mirror?: number): Transaction; replace(from: number, to: number, text: string | ReadonlyArray): Transaction; replaceSelection(text: string | ReadonlyArray): Transaction; reduceRanges(f: (transaction: Transaction, range: SelectionRange) => (Transaction | { transaction: Transaction; range: SelectionRange; })): Transaction; mapRanges(f: (range: SelectionRange) => SelectionRange): Transaction; setSelection(selection: EditorSelection): Transaction; readonly selectionSet: boolean; readonly docChanged: boolean; scrollIntoView(): Transaction; readonly scrolledIntoView: boolean; apply(): EditorState; invertedChanges(): ChangeSet; }