import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSAttributedString } from "../Foundation/NSAttributedString.js";
import type { CGPoint } from "../structs/CGPoint.js";
import type { CGRect } from "../structs/CGRect.js";
import type { NSRange } from "../structs/NSRange.js";
export interface _NSTextInput {
    /**
     * instead of keyDown: string can be NSString or NSAttributedString
     * @deprecated
     */
    insertText$?(string_: NobjcObject): void;
    /** @deprecated */
    doCommandBySelector$?(selector: string): void;
    /**
     * setMarkedText: cannot take a nil first argument. string can be NSString or NSAttributedString
     * @deprecated
     */
    setMarkedText$selectedRange$?(string_: NobjcObject, selRange: NSRange): void;
    /** @deprecated */
    unmarkText?(): void;
    /** @deprecated */
    hasMarkedText?(): boolean;
    /** @deprecated */
    conversationIdentifier?(): number;
    /**
     * Returns attributed string at the range. This allows input mangers to query any range in backing-store. May return nil.
     * @deprecated
     */
    attributedSubstringFromRange$?(range: NSRange): _NSAttributedString;
    /**
     * This method returns the range for marked region. If hasMarkedText == false, it'll return NSNotFound location & 0 length range.
     * @deprecated
     */
    markedRange?(): NSRange;
    /**
     * This method returns the range for selected region. Just like markedRange method, its location field contains char index from the text beginning.
     * @deprecated
     */
    selectedRange?(): NSRange;
    /**
     * This method returns the first frame of rects for range in screen coordindate system.
     * @deprecated
     */
    firstRectForCharacterRange$?(range: NSRange): CGRect;
    /**
     * This method returns the index for character that is nearest to point. thPoint is in screen coordinate system.
     * @deprecated
     */
    characterIndexForPoint$?(point: CGPoint): number;
    /**
     * This method is the key to attribute extension. We could add new attributes through this method. NSInputServer examines the return value of this method & constructs appropriate attributed string.
     * @deprecated
     */
    validAttributesForMarkedText?(): _NSArray;
}
