import type { NobjcObject } from "objc-js";
import type { _NSAttributedString } from "../Foundation/NSAttributedString.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSImage } from "./NSImage.js";
import type { _NSMenu } from "./NSMenu.js";
import type { _NSStatusBar } from "./NSStatusBar.js";
import type { _NSStatusBarButton } from "./NSStatusBarButton.js";
import type { _NSView } from "./NSView.js";
import type { CGRect } from "../structs/CGRect.js";
import type { NSStatusItemBehavior } from "./NSStatusItemBehavior.js";
export declare class _NSStatusItem extends _NSObject {
    static alloc(): _NSStatusItem;
    static new(): _NSStatusItem;
    init(): _NSStatusItem;
    /** @deprecated Use the receiver's button's -sendActionOn: instead */
    sendActionOn$(mask: NobjcObject): number;
    /**
     * @deprecated Use the standard button instead which handles highlight drawing, making this method obsolete
     */
    drawStatusBarBackgroundInRect$withHighlight$(rect: CGRect, highlight: boolean): void;
    /** @deprecated Use the menu property instead */
    popUpStatusItemMenu$(menu: _NSMenu): void;
    /** The status bar that the receiver is displayed in. */
    statusBar(): _NSStatusBar | null;
    /**
     * The amount of space in the status bar that should be allocated to the receiver. will adjust the length to the size of the status item's contents and will keep the length the same as the status bar's height.
     */
    length(): number;
    setLength$(value: number): void;
    /**
     * The drop down menu that is displayed when the status item is pressed or clicked.
     */
    menu(): _NSMenu | null;
    setMenu$(value: _NSMenu | null): void;
    /**
     * The button that is displayed in the status bar. This is created automatically on the creation of the StatusItem. Behavior customization for the button, such as image, target/action, tooltip, can be set with this property.
     */
    button(): _NSStatusBarButton;
    /** Specifies the behavior of the status item. */
    behavior(): NSStatusItemBehavior;
    setBehavior$(value: NSStatusItemBehavior): void;
    /**
     * Specifies if the status item is currently visible in the status bar, even if it is obscured by the application menu. Defaults to YES. Persisted based on the -autosaveName. This is observable through KVO.
     */
    visible(): boolean;
    setVisible$(value: boolean): void;
    /**
     * Specifies a unique name for persisting visibility information. If none is specified, one is automatically chosen. Apps with multiple status bar items should set an autosave after creation. Setting to nil resets the automatically chosen name and clears saved information.
     */
    autosaveName(): _NSString;
    setAutosaveName$(value: _NSString): void;
    /**
     * These methods simply forward their calls onto the button property.
     * @deprecated Use the receiver's button.action instead
     */
    action(): string;
    setAction$(value: string): void;
    /** @deprecated Use the receiver's button.doubleAction instead */
    doubleAction(): string;
    setDoubleAction$(value: string): void;
    /** @deprecated Use the receiver's button.target instead */
    target(): NobjcObject;
    setTarget$(value: NobjcObject): void;
    /** @deprecated Use the receiver's button.title instead */
    title(): _NSString;
    setTitle$(value: _NSString): void;
    /** @deprecated Use the receiver's button.attributedTitle instead */
    attributedTitle(): _NSAttributedString;
    setAttributedTitle$(value: _NSAttributedString): void;
    /** @deprecated Use the receiver's button.image instead */
    image(): _NSImage;
    setImage$(value: _NSImage): void;
    /** @deprecated Use the receiver's button.alternateImage instead */
    alternateImage(): _NSImage;
    setAlternateImage$(value: _NSImage): void;
    /** @deprecated Use the receiver's button.enabled instead */
    enabled(): boolean;
    setEnabled$(value: boolean): void;
    /** @deprecated Use the receiver's button.cell.highlightsBy instead */
    highlightMode(): boolean;
    setHighlightMode$(value: boolean): void;
    /** @deprecated Use the receiver's button.toolTip instead */
    toolTip(): _NSString;
    setToolTip$(value: _NSString): void;
    /**
     * Custom views should not be set on a status item. The button property with a template image will allow proper styling of the status item in various states and contexts and should be used instead.
     * @deprecated Use the standard button property instead
     */
    view(): _NSView;
    setView$(value: _NSView): void;
}
