import type { NobjcObject } from "objc-js";
import type { _NSColor } from "./NSColor.js";
import type { _NSImage } from "./NSImage.js";
import type { _NSTouchBarItem } from "./NSTouchBarItem.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { NSPickerTouchBarItemControlRepresentation } from "./NSPickerTouchBarItemControlRepresentation.js";
import type { NSPickerTouchBarItemSelectionMode } from "./NSPickerTouchBarItemSelectionMode.js";
export declare class _NSPickerTouchBarItem extends _NSTouchBarItem {
    static alloc(): _NSPickerTouchBarItem;
    static new(): _NSPickerTouchBarItem;
    init(): _NSPickerTouchBarItem;
    /**
     * Creates a standard item with an NSSegmentedControl appropriate for use in an NSTouchBar
     */
    static pickerTouchBarItemWithIdentifier$labels$selectionMode$target$action$(identifier: _NSString, labels: _NSArray, selectionMode: NSPickerTouchBarItemSelectionMode, target: NobjcObject | null, action: string | null): _NSPickerTouchBarItem;
    static pickerTouchBarItemWithIdentifier$images$selectionMode$target$action$(identifier: _NSString, images: _NSArray, selectionMode: NSPickerTouchBarItemSelectionMode, target: NobjcObject | null, action: string | null): _NSPickerTouchBarItem;
    /** Get and set the image and labels of an option at the given index. */
    setImage$atIndex$(image: _NSImage | null, index: number): void;
    imageAtIndex$(index: number): _NSImage | null;
    setLabel$atIndex$(label: _NSString, index: number): void;
    labelAtIndex$(index: number): _NSString | null;
    setEnabled$atIndex$(enabled: boolean, index: number): void;
    isEnabledAtIndex$(index: number): boolean;
    /**
     * The style in which this item will be represented to the user. Defaults to NSPickerRepresentationAutomatic.
     */
    controlRepresentation(): NSPickerTouchBarItemControlRepresentation;
    setControlRepresentation$(value: NSPickerTouchBarItemControlRepresentation): void;
    /**
     * The user facing label and or image visible when the control is in the collapsed representation. If the selectionMode is NSPickerSelectionModeSelectOne, the collapsed representation will automatically be populated with the associated label and or image from the seelctedIndex. Setting these values may be used to override any automatic behavior.
     */
    collapsedRepresentationLabel(): _NSString;
    setCollapsedRepresentationLabel$(value: _NSString): void;
    collapsedRepresentationImage(): _NSImage | null;
    setCollapsedRepresentationImage$(value: _NSImage | null): void;
    /** The most recently selected index of the control, or -1 if nothing is selected. */
    selectedIndex(): number;
    setSelectedIndex$(value: number): void;
    selectionColor(): _NSColor | null;
    setSelectionColor$(value: _NSColor | null): void;
    /** Defaults to NSPickerTouchBarItemSelectionModeSelectOne */
    selectionMode(): NSPickerTouchBarItemSelectionMode;
    setSelectionMode$(value: NSPickerTouchBarItemSelectionMode): void;
    /** The number of options represented in the control. */
    numberOfOptions(): number;
    setNumberOfOptions$(value: number): void;
    target(): NobjcObject | null;
    setTarget$(value: NobjcObject | null): void;
    action(): string | null;
    setAction$(value: string | null): void;
    enabled(): boolean;
    setEnabled$(value: boolean): void;
    /**
     * The localized string labelling this item during user customization. The default value is empty string.
     */
    customizationLabel(): _NSString;
    setCustomizationLabel$(value: _NSString): void;
}
