import type { _NSTextStorage } from "./NSTextStorage.js";
import type { NSRange } from "../structs/NSRange.js";
import type { NSTextStorageEditActions } from "./NSTextStorageEditActions.js";
export interface _NSTextStorageObserving {
    /**
     * The newCharRange is the range in the final string which was explicitly edited. The invalidatedRange includes portions that changed as a result of attribute fixing. invalidatedRange is either equal to newCharRange or larger. Controllers should not change the contents of the text storage during the execution of this message.
     */
    processEditingForTextStorage$edited$range$changeInLength$invalidatedRange$?(textStorage: _NSTextStorage, editMask: NSTextStorageEditActions, newCharRange: NSRange, delta: number, invalidatedCharRange: NSRange): void;
    /** Transactional editing support */
    performEditingTransactionForTextStorage$usingBlock$?(textStorage: _NSTextStorage, transaction: () => void): void;
    /** The document object */
    textStorage?(): _NSTextStorage | null;
    setTextStorage$?(value: _NSTextStorage | null): void;
}
