import type { _NSTextContentManager } from "./NSTextContentManager.js";
import type { _NSTextElement } from "./NSTextElement.js";
import type { _NSTextLocation } from "./NSTextLocation.js";
import type { _NSTextRange } from "./NSTextRange.js";
import type { _NSTextStorageObserving } from "./NSTextStorageObserving.js";
import type { _NSAttributedString } from "../Foundation/NSAttributedString.js";
export declare class _NSTextContentStorage extends _NSTextContentManager {
    static alloc(): _NSTextContentStorage;
    static new(): _NSTextContentStorage;
    init(): _NSTextContentStorage;
    /**
     * Returns a new attributed string for textElement. Returns if textElement cannot be mapped to NSAttributedString.
     */
    attributedStringForTextElement$(textElement: _NSTextElement): _NSAttributedString | null;
    /**
     * Returns NSTextElement corresponding to attributedString. Returns nil when attributedString contains attributes not mappable to NSTextElement.
     */
    textElementForAttributedString$(attributedString: _NSAttributedString): _NSTextElement | null;
    /**
     * Returns a new location from location with offset. The offset value could be positive or negative indicating the logical direction. Could return nil when the inputs don't produce any legal location (i.e. out of bounds index).
     */
    locationFromLocation$withOffset$(location: _NSTextLocation, offset: number): _NSTextLocation | null;
    /**
     * Returns the offset between from and to. The return value could be positive or negative. Could return NSNotFound when the offset cannot be represented in an integer value (i.e. locations are not in the same document).
     */
    offsetFromLocation$toLocation$(from: _NSTextLocation, to: _NSTextLocation): number;
    /**
     * Should be implemented if the location backing store requires manual adjustment after editing. When textRange is intersecting or following the current edited range, the method returns the range adjusted for the modification in the editing session. Returns nil, when no adjustment necessary. forEditingTextSelection indicates if textRange is for the text selection associated with the edit session.
     */
    adjustedRangeFromRange$forEditingTextSelection$(textRange: _NSTextRange, forEditingTextSelection: boolean): _NSTextRange | null;
    /**
     * When YES, NSTextContentStorage assumes the paragraph with NSTextList includes the text list marker string. Utilizes NSTextList.includesTextListMarkers as the default value.
     */
    includesTextListMarkers(): boolean;
    setIncludesTextListMarkers$(value: boolean): void;
    /** The document contents. KVO-compliant */
    attributedString(): _NSAttributedString | null;
    setAttributedString$(value: _NSAttributedString | null): void;
}
export interface _NSTextContentStorage extends _NSTextStorageObserving {
}
