import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCoder } from "../Foundation/NSCoder.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSet } from "../Foundation/NSSet.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSTextView } from "./NSTextView.js";
import type { _NSTouchBarDelegate } from "./NSTouchBarDelegate.js";
import type { _NSTouchBarItem } from "./NSTouchBarItem.js";
export declare class _NSTouchBar extends _NSObject {
    static alloc(): _NSTouchBar;
    static new(): _NSTouchBar;
    /**
     * Convenience method for the NSApp's automaticCustomizeTouchBarMenuItemEnabled property.
     */
    static automaticCustomizeTouchBarMenuItemEnabled(): boolean;
    static setAutomaticCustomizeTouchBarMenuItemEnabled$(value: boolean): void;
    /** -init is a designated initializer. */
    init(): _NSTouchBar;
    /** -initWithCoder: is also a designated initializer. */
    initWithCoder$(coder: _NSCoder): _NSTouchBar | null;
    /**
     * Returns an instantiated NSTouchBarItem for the given identifier. Items are resolved from the following locations, in order: items already in the instantiated items array items in the defaultTouchBarItems set items returned from the delegate's -touchBar:makeItemForIdentifier: method some special identifiers are handled automatically NSTouchBarItemIdentifierFixedSpaceSmall -> NSTouchBar will automatically create a standard small space NSTouchBarItemIdentifierFixedSpaceLarge -> NSTouchBar will automatically create a standard large space NSTouchBarItemIdentifierFlexibleSpace -> NSTouchBar will automatically create a standard flexible space NSTouchBarItemIdentifierOtherItemsProxy -> NSTouchBar will automatically create a special item that acts as a proxy for the items of NSTouchBar closer to the first responder.
     */
    itemForIdentifier$(identifier: _NSString): _NSTouchBarItem | null;
    /**
     * A string uniquely identifying this bar for customization purposes. All bars with this identifier will have their items coordinated automatically during customization or instantiation. NSTouchBars lacking a customizationIdentifier are not customizable. This property is archived.
     */
    customizationIdentifier(): _NSString | null;
    setCustomizationIdentifier$(value: _NSString | null): void;
    /**
     * The items that are presented in the customization palette for the user to add to the NSTouchBar. These items will be presented to the user in the order specified in this array. This property is archived.
     */
    customizationAllowedItemIdentifiers(): _NSArray;
    setCustomizationAllowedItemIdentifiers$(value: _NSArray): void;
    /**
     * Some items are too important to be removed. The corresponding item identifiers should be listed here. During customization the user will be prevented from removing these items from the NSTouchBar. This property is archived.
     */
    customizationRequiredItemIdentifiers(): _NSArray;
    setCustomizationRequiredItemIdentifiers$(value: _NSArray): void;
    /**
     * An array of identifiers specifying the items in this NSTouchBar. When constructing the instantiated items array, the identifiers in this array will be fed through the -itemForIdentifier: method. Item identifiers should be globally unique, excepting NSTouchBarItemIdentifierFixedSpaceSmall, NSTouchBarItemIdentifierFixedSpaceLarge, NSTouchBarItemIdentifierFlexibleSpace, and NSTouchBarItemIdentifierOtherItemsProxy. This array also corresponds to the item ordering for the receiver in the “default set” in the customization palette. This property is archived.
     */
    defaultItemIdentifiers(): _NSArray;
    setDefaultItemIdentifiers$(value: _NSArray): void;
    /**
     * The resolved array of item identifiers. If the bar has not been customized this will match the defaultItemIdentifiers. This property is not archived.
     */
    itemIdentifiers(): _NSArray;
    /**
     * Specifying a principal item identifier communicates that the item with that identifier has special significance to this NSTouchBar. Currently, that item will be placed in the center of the resolved row. Note that multiple visible bars may each specify a principal item identifier - but only one of them can have the request honored. This property is archived.
     */
    principalItemIdentifier(): _NSString | null;
    setPrincipalItemIdentifier$(value: _NSString | null): void;
    /**
     * An item identifier designating an item that replaces the standard system escape key. The item may be located in the templateItems set, or provided by the delegate. This property is not archived.
     */
    escapeKeyReplacementItemIdentifier(): _NSString | null;
    setEscapeKeyReplacementItemIdentifier$(value: _NSString | null): void;
    /**
     * Items in this set are the first step in resolving instantiated items from their identifiers. If an item identifier is specified in the itemIdentifiers array, and an item with that identifier is in this set, it will be added to the items array in the corresponding location. This property is archived.
     */
    templateItems(): _NSSet;
    setTemplateItems$(value: _NSSet): void;
    /**
     * The NSTouchBar delegate. The delegate can dynamically create items. This property is conditionally archived (see -encodeConditionalObject:forKey:.)
     */
    delegate(): _NSTextView | null;
    setDelegate$(value: _NSTouchBarDelegate | null): void;
    /**
     * When YES, the NSTouchBar is attached to an eligible NSTouchBar provider, and its items are displayable, assuming adequate space. This property is key value observable.
     */
    visible(): boolean;
}
