import type { _NSColor } from "./NSColor.js";
import type { _NSControl } from "./NSControl.js";
import type { _NSMenu } from "./NSMenu.js";
import type { _NSPathComponentCell } from "./NSPathComponentCell.js";
import type { _NSPathControlDelegate } from "./NSPathControlDelegate.js";
import type { _NSPathControlItem } from "./NSPathControlItem.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSAttributedString } from "../Foundation/NSAttributedString.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { NSDragOperation } from "./NSDragOperation.js";
import type { NSPathStyle } from "./NSPathStyle.js";
export declare class _NSPathControl extends _NSControl {
    static alloc(): _NSPathControl;
    static new(): _NSPathControl;
    init(): _NSPathControl;
    /**
     * Configures the default value returned from -draggingSourceOperationMaskForLocal:. An 'isLocal' value of YES indicates that 'mask' applies when the destination object is in the same application. An 'isLocal' value of NO indicates that 'mask' applies when the destination object in a destination object outside the receiver's application. By default, -draggingSourceOperationMaskForLocal: returns NSDragOperationEvery when 'isLocal' is YES, and NSDragOperationNone when 'isLocal' is NO.
     */
    setDraggingSourceOperationMask$forLocal$(mask: NSDragOperation, isLocal: boolean): void;
    /** @deprecated Use the clickedPathItem property instead */
    clickedPathComponentCell(): _NSPathComponentCell | null;
    /** @deprecated Use the pathItems property instead */
    pathComponentCells(): _NSArray;
    /** @deprecated Use the pathItems property instead */
    setPathComponentCells$(cells: _NSArray): void;
    editable(): boolean;
    setEditable$(value: boolean): void;
    /**
     * Specifies the allowed types when the control isEditable. The allowedTypes can contain a file extension (without the period that begins the extension) or UTI (Uniform Type Identifier). To allow folders, include the UTI 'public.folder'. To allow all types, use 'nil'. If allowedTypes is an empty array, nothing will be allowed. The default value is 'nil', allowing all types.
     */
    allowedTypes(): _NSArray;
    setAllowedTypes$(value: _NSArray): void;
    /**
     * If there are no components in the path, the placeholder is drawn instead (if non-nil). We first try to draw the placeholderAttributedString. If it's nil, then the placeholderString will be drawn with correct default attributes.
     */
    placeholderString(): _NSString;
    setPlaceholderString$(value: _NSString): void;
    placeholderAttributedString(): _NSAttributedString;
    setPlaceholderAttributedString$(value: _NSAttributedString): void;
    /**
     * Gets and sets the path value displayed. When setting, an array of NSPathControlItems will automatically be set based on the path in the 'url'. If the 'url' is a file URL (returns YES from isFileURL), the images will automatically be filled up with file icons, if the path exists. The URL value itself is stored in the objectValue of the control.
     */
    URL(): _NSURL | null;
    setURL$(value: _NSURL | null): void;
    /**
     * The selector that will be called when the user double clicks on a NSPathControlItem.
     */
    doubleAction(): string | null;
    setDoubleAction$(value: string | null): void;
    /** The style/mode of the NSPathControl. Defaults to NSPathStyleStandard. */
    pathStyle(): NSPathStyle;
    setPathStyle$(value: NSPathStyle): void;
    /**
     * The clicked NSPathControlItem, or nil, if no item has been clicked. The clickedPathItem is generally only valid while the action or doubleAction is being sent.
     */
    clickedPathItem(): _NSPathControlItem;
    /**
     * The array of NSPathControlItems currently being displayed. Each item must be an NSPathControlItem. Do not subclass NSPathControlItem. You cannot set this value to nil, but should instead set it to an empty array.
     */
    pathItems(): _NSArray;
    setPathItems$(value: _NSArray): void;
    /**
     * The background color to be drawn. By default, it will be set to a light blue color for NSPathStyleStandard, and nil for everything else. You can use [NSColor clearColor] to make the background transparent.
     */
    backgroundColor(): _NSColor | null;
    setBackgroundColor$(value: _NSColor | null): void;
    /**
     * The delegate for this control. The delegate is weakly referenced for zeroing-weak compatible objects in apps linked on 10.10 or later. Otherwise the behavior of this property is 'assign'.
     */
    delegate(): _NSPathControlDelegate | null;
    setDelegate$(value: _NSPathControlDelegate | null): void;
    /** The menu used when the syle is NSPathStylePopUp. */
    menu(): _NSMenu | null;
    setMenu$(value: _NSMenu | null): void;
}
