import type { _BEAccessibilityTextMarker } from "./BEAccessibilityTextMarker.js";
import type { _BEAccessibilityTextMarkerRange } from "./BEAccessibilityTextMarkerRange.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { CGPoint } from "../structs/CGPoint.js";
import type { CGRect } from "../structs/CGRect.js";
import type { NSRange } from "../structs/NSRange.js";
export interface _BEAccessibilityTextMarkerSupport {
    /**
     * @abstract The accessibility frame for a text range. @param range The text marker range. @return The bounds in accessibility space of the text marker range. If the bounds cannot be determined, return CGRectZero.
     */
    accessibilityBoundsForTextMarkerRange$?(range: _BEAccessibilityTextMarkerRange): CGRect;
    /**
     * @abstract The accessibility content for a text range. @param range The text marker range.
     */
    accessibilityContentForTextMarkerRange$?(range: _BEAccessibilityTextMarkerRange): _NSString | null;
    /**
     * @abstract The text marker range of the current selection. Return nil if there is none.
     */
    accessibilityTextMarkerRangeForCurrentSelection?(): _BEAccessibilityTextMarkerRange | null;
    /** @abstract The text marker range of the current element. */
    accessibilityTextMarkerRange?(): _BEAccessibilityTextMarkerRange;
    /** @abstract The text marker after the marker. @param marker The text marker. */
    accessibilityNextTextMarker$?(marker: _BEAccessibilityTextMarker): _BEAccessibilityTextMarker | null;
    /** @abstract The text marker before the marker. @param marker The text marker. */
    accessibilityPreviousTextMarker$?(marker: _BEAccessibilityTextMarker): _BEAccessibilityTextMarker | null;
    /**
     * @abstract The text marker representing the end-of-line position of the line pointed to by the given marker. @param marker The text marker.
     */
    accessibilityLineEndMarkerForMarker$?(marker: _BEAccessibilityTextMarker): _BEAccessibilityTextMarker | null;
    /**
     * @abstract The text marker representing the start-of-line position of the line pointed to by the given marker. @param marker The text marker.
     */
    accessibilityLineStartMarkerForMarker$?(marker: _BEAccessibilityTextMarker): _BEAccessibilityTextMarker | null;
    /**
     * @abstract The text marker for the specific point. @param point A point in view space.
     */
    accessibilityMarkerForPoint$?(point: CGPoint): _BEAccessibilityTextMarker | null;
    /**
     * @abstract The text marker given an index-based position. @param position The text position as an index.
     */
    accessibilityTextMarkerForPosition$?(position: number): _BEAccessibilityTextMarker | null;
    /**
     * @abstract The text marker range given an index-based range. @param range The text marker range as an NSRange.
     */
    accessibilityTextMarkerRangeForRange$?(range: NSRange): _BEAccessibilityTextMarkerRange | null;
    /**
     * @abstract The index-based range given a text marker range. @param range The text marker range.
     */
    accessibilityRangeForTextMarkerRange$?(range: _BEAccessibilityTextMarkerRange): NSRange;
}
