import type { NobjcObject } from "objc-js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSEvent } from "./NSEvent.js";
import type { _NSImage } from "./NSImage.js";
import type { _NSInputServer } from "./NSInputServer.js";
import type { _NSTextInput } from "./NSTextInput.js";
import type { NSRange } from "../structs/NSRange.js";
export declare class _NSInputManager extends _NSObject {
    static alloc(): _NSInputManager;
    static new(): _NSInputManager;
    init(): _NSInputManager;
    /**
     * The "current input manager" is the one that is receiving input events at the time this method is called. It may change out from under you, so don't cache the return value.
     * @deprecated
     */
    static currentInputManager(): _NSInputManager;
    /**
     * Cycle through list of input managers. Called from NSKeyBindingManager via doCommandBySelector:.
     * @deprecated
     */
    static cycleToNextInputLanguage$(sender: NobjcObject | null): void;
    /** @deprecated */
    static cycleToNextInputServerInLanguage$(sender: NobjcObject | null): void;
    /** @deprecated */
    initWithName$host$(inputServerName: _NSString, hostName: _NSString): _NSInputManager;
    /** @deprecated */
    localizedInputManagerName(): _NSString;
    /**
     * These messages are sent by Views that conform to the NSTextInput protocol TO the Current Input Manager when things happen via user or programmatic action. E.g., when the mouse moves outside the marked range, send markedTextWillBeAbandoned:. If the user selects some new text or moves the mouse within the marked region, send markedTextSelectionChanged:. Not all input manager/server combinations will allow all changes, but abandoning of the marked region cannot be aborted.
     * @deprecated
     */
    markedTextAbandoned$(cli: NobjcObject): void;
    /**
     * - (void)markedTextAbandoned:(null_unspecified id)cli API_DEPRECATED("", macos(10.0,10.6)); send after abandoning
     * @deprecated
     */
    markedTextSelectionChanged$client$(newSel: NSRange, cli: NobjcObject): void;
    /**
     * This corresponds to a server method for input managers that demand to do their own interepretation of command keys as long as they're active. This will typically be called by a key binder to find out whether it shouldn't just pass along strings.
     * @deprecated
     */
    wantsToInterpretAllKeystrokes(): boolean;
    /** @deprecated */
    language(): _NSString;
    /** @deprecated */
    image(): _NSImage;
    /** @deprecated */
    server(): _NSInputServer;
    /**
     * If corresponding input server wants to handle mouse events within marked region, this should return YES. In that case, handleMouseEvent is sent. Otherwiese, mouse events are handled by first responder.
     * @deprecated
     */
    wantsToHandleMouseEvents(): boolean;
    /** @deprecated */
    handleMouseEvent$(mouseEvent: _NSEvent): boolean;
    /**
     * This should return YES when the input method (language) prefers to delay text change notification 'till the input is actually committed.
     * @deprecated
     */
    wantsToDelayTextChangeNotifications(): boolean;
}
export interface _NSInputManager extends _NSTextInput {
}
