import type { NobjcObject } from "objc-js";
import type { _NSActionCell } from "./NSActionCell.js";
import type { _NSColor } from "./NSColor.js";
import type { _NSEvent } from "./NSEvent.js";
import type { _NSMenuItemValidation } from "./NSMenuItemValidation.js";
import type { _NSOpenSavePanelDelegate } from "./NSOpenSavePanelDelegate.js";
import type { _NSPathCellDelegate } from "./NSPathCellDelegate.js";
import type { _NSPathComponentCell } from "./NSPathComponentCell.js";
import type { _NSView } from "./NSView.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 { CGPoint } from "../structs/CGPoint.js";
import type { CGRect } from "../structs/CGRect.js";
import type { NSPathStyle } from "./NSPathStyle.js";
export declare class _NSPathCell extends _NSActionCell {
    static alloc(): _NSPathCell;
    static new(): _NSPathCell;
    init(): _NSPathCell;
    /**
     * Returns the class used to create pathComponentCells when automatically filling up the control. Subclassers can override this method to return a custom cell class that will automatically be used. By default, it will return [NSPathComponentCell class], or a specialized subclass thereof.
     */
    static pathComponentCellClass(): NobjcObject;
    /**
     * Returns the current rect being displayed for a particular NSPathComponentCell 'cell', with respect to the 'frame' in 'view'. NSZeroRect will be returned if 'cell' is not found, or it currently is not visible.
     */
    rectOfPathComponentCell$withFrame$inView$(cell: _NSPathComponentCell, frame: CGRect, view: _NSView): CGRect;
    /**
     * Returns the cell located at 'point' within 'frame' of 'view', or nil, if none exists at that location.
     */
    pathComponentCellAtPoint$withFrame$inView$(point: CGPoint, frame: CGRect, view: _NSView): _NSPathComponentCell | null;
    /**
     * The NSPathCell will dynamically animate to display the component that the mouse is hovering over by using mouseEntered and mouseExited events. The control should call these methods to correctly display the hovered component to the user. The control can acquire rects to track using rectOfPathComponentCell:withFrame:inView:.
     */
    mouseEntered$withFrame$inView$(event: _NSEvent, frame: CGRect, view: _NSView): void;
    mouseExited$withFrame$inView$(event: _NSEvent, frame: CGRect, view: _NSView): void;
    /**
     * See NSPathControl for documentation on all the properties listed below. The NSPathControl directly calls the cell's methods.
     */
    pathStyle(): NSPathStyle;
    setPathStyle$(value: NSPathStyle): void;
    URL(): _NSURL | null;
    setURL$(value: _NSURL | null): void;
    allowedTypes(): _NSArray | null;
    setAllowedTypes$(value: _NSArray | null): void;
    delegate(): _NSPathCellDelegate | null;
    setDelegate$(value: _NSPathCellDelegate | null): void;
    pathComponentCells(): _NSArray;
    setPathComponentCells$(value: _NSArray): void;
    /**
     * Returns the clicked cell, or nil, if a no cell has been clicked. The clickedPathComponentCell is generally only valid when the action or doubleAction is being sent.
     */
    clickedPathComponentCell(): _NSPathComponentCell | null;
    /**
     * Allows you to set the selector that will be called when the user double clicks on a particular NSPathComponentCell.
     */
    doubleAction(): string | null;
    setDoubleAction$(value: string | null): 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. NSPathCell will return YES from isOpaque if the backgroundColor has an alphaComponent of 1.0, otherwise, it will return NO. When drawing with the background color, NSCompositeSourceOver is used for the compositing operation.
     */
    backgroundColor(): _NSColor | null;
    setBackgroundColor$(value: _NSColor | null): void;
    placeholderString(): _NSString | null;
    setPlaceholderString$(value: _NSString | null): void;
    placeholderAttributedString(): _NSAttributedString | null;
    setPlaceholderAttributedString$(value: _NSAttributedString | null): void;
}
export interface _NSPathCell extends _NSMenuItemValidation, _NSOpenSavePanelDelegate {
}
