import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSEvent } from "./NSEvent.js";
import type { _NSTextInputClient } from "./NSTextInputClient.js";
import type { _NSTextView } from "./NSTextView.js";
export declare class _NSTextInputContext extends _NSObject {
    static alloc(): _NSTextInputContext;
    static new(): _NSTextInputContext;
    init(): _NSTextInputContext;
    /**
     * ** Text Input source attributes *** Returns the display name for inputSourceIdentifier.
     */
    static localizedNameForInputSource$(inputSourceIdentifier: _NSString): _NSString | null;
    /**
     * The current activated text input context object. The Cocoa Text Input system communicates primarily with the client of the activated input context via the NSTextInputClient protocol.
     */
    static currentInputContext(): _NSTextInputContext | null;
    /** The designated initializer. */
    initWithClient$(client: _NSTextInputClient): _NSTextInputContext;
    /** ** Activation **** Invoked when the receiver gets activated/deactivated. */
    activate(): void;
    deactivate(): void;
    /**
     * ** Input source interface *** Tells the Cocoa Text Input system to handle mouse/key events. Returns YES if the system consumed the event.
     */
    handleEvent$(event: _NSEvent): boolean;
    /**
     * Notifies the system to discard the current conversion session. The client should clear its marked range when sending this message.
     */
    discardMarkedText(): void;
    /**
     * Notifies the text input system that information related to character positions, including the document's visual coordinates, text selection, and document contents, has been modified. Text engines implementing the NSTextInputClient protocol should send this message whenever any of these changes occur, and -[NSTextInputContext handleEvent:] will not otherwise be called. -handleEvent: serves as an implicit notification that any of these changes could have occurred.
     */
    invalidateCharacterCoordinates(): void;
    /**
     * Notifies the text input client will be continuous updated due to user action. This includes scrolling, resizing, zooming, and any other action modifying the the geometry information of text selection while displaying the content. This method should be called before -invalidateCharacterCoordinates.
     */
    textInputClientWillStartScrollingOrZooming(): void;
    /**
     * Notifies the text input client was continuous updated due to user action. This includes scrolling, resizing, zooming, and any other action modifying the the geometry information of text selection while displaying the content. This method should be called after -invalidateCharacterCoordinates.
     */
    textInputClientDidEndScrollingOrZooming(): void;
    /** Notify when the text view selection is changed. */
    textInputClientDidUpdateSelection(): void;
    /** Notify when the text view scroll location is changed. */
    textInputClientDidScroll(): void;
    /**
     * ** Properties **** Returns the owner of this input context. The owner, typically an NSView, retains its NSTextInputContext instance. NSTextInputContext doesn't retain its client.
     */
    client(): _NSTextView;
    /**
     * Indicates whether the client handles NSGlyphInfoAttributeName or not. The default value is determined by examining the return value sending -validAttributesForMarkedText to client at initialization.
     */
    acceptsGlyphInfo(): boolean;
    setAcceptsGlyphInfo$(value: boolean): void;
    /**
     * Specifies the set of keyboard input source locales allowed when this input context is active. NSAllRomanInputSourcesLocaleIdentifier can be specified as a valid locale.
     */
    allowedInputSourceLocales(): _NSArray | null;
    setAllowedInputSourceLocales$(value: _NSArray | null): void;
    /**
     * The array of keyboard text input source identifier strings available to the receiver.
     */
    keyboardInputSources(): _NSArray | null;
    /** The identifier string for the selected keyboard text input source. */
    selectedKeyboardInputSource(): _NSString | null;
    setSelectedKeyboardInputSource$(value: _NSString | null): void;
}
