import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSData } from "../Foundation/NSData.js";
import type { _NSDate } from "../Foundation/NSDate.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSExtensionContext } from "../Foundation/NSExtensionContext.js";
import type { _NSSet } from "../Foundation/NSSet.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { _NSImage } from "../AppKit/NSImage.js";
export declare class _FIFinderSyncController extends _NSExtensionContext {
    static alloc(): _FIFinderSyncController;
    static new(): _FIFinderSyncController;
    init(): _FIFinderSyncController;
    /**
     * Returns the shared Finder Sync controller object. - Returns: The default Finder Sync controller object for this extension.
     */
    static defaultController(): _FIFinderSyncController;
    static showExtensionManagementInterface(): void;
    /**
     * The application hosting a Finder Sync Extension can determine whether the user has enabled the extension, and can show the UI for managing extensions. When the application becomes active again, it can check whether the user has enabled the extension.
     */
    static extensionEnabled(): boolean;
    /**
     * Sets the badge image and label for the given ID. Use this method to configure your badges. Finder may display the image, the label or both. Your Finder Sync extension typically sets up a fixed number of badges during its `init` method. - Parameters: - image: An <doc ://com.apple.documentation/documentation/appkit/nsimage> object. The system may or may not draw this image on top of the item’s icon; when it does, the system determines the overlay position. Don't add any padding to the image to adjust this positioning. The image draws at up to 320 x 320 points. - label: A label describing the sync state represented by this badge. Each label should be a short localized string, such as "Waiting." - badgeID: A unique ID, identifying this badge.
     */
    setBadgeImage$label$forBadgeIdentifier$(image: _NSImage, label: _NSString | null, badgeID: _NSString): void;
    /**
     * Sets the badge for a file or directory. Adds the specified badge to the given file or directory. Setting the identifier to an empty string (` " "`) removes the badge. Avoid adding badges to items that the Finder hasn't displayed yet. When setting the initial badge, call this method from your Finder Sync extension’s ``FIFinderSync/requestBadgeIdentifierForURL:`` method. When updating badges, call this method only for items that have already received a badge. - Parameters: - badgeID: A unique ID, identifying the badge. - url: The URL of the file or directory. ## See Also - ``FIFinderSync/requestBadgeIdentifierForURL:``
     */
    setBadgeIdentifier$forURL$(badgeID: _NSString, url: _NSURL): void;
    /**
     * Returns the URL of the Finder’s current target. Use this method when creating a custom shortcut menu for the Finder. This returns the URL of the item that the user Control-clicked, letting you customize the menu for that item. This method returns valid values only from the Finder Sync extension’s ``FIFinderSync/menuForMenuKind:`` method or from one of the menu actions created in this method. If the selected items are outside the extension’s managed directories (for example, when the user clicks on the toolbar button), this method returns `nil`. - Returns: The URL of the Finder’s current target.
     */
    targetedURL(): _NSURL | null;
    /**
     * Returns an array of selected items. Use this method when creating a shortcut menu or a menu for the extension’s toolbar button. You can then modify the menu’s content based on the items currently selected. This method returns valid values only from the Finder Sync extension’s ``FIFinderSync/menuForMenuKind:`` method or from one of the menu actions created in this method. If the selected items are outside the extension’s managed directories (for example, when the user clicks on the toolbar button), this method returns `nil`. - Returns: An array of items currently selected in the Finder window.
     */
    selectedItemURLs(): _NSArray | null;
    /** Collaboration, starting in macOS 10.13. */
    lastUsedDateForItemWithURL$(itemURL: _NSURL): _NSDate | null;
    setLastUsedDate$forItemWithURL$completion$(lastUsedDate: _NSDate, itemURL: _NSURL, completion: (error: _NSError) => void): void;
    tagDataForItemWithURL$(itemURL: _NSURL): _NSData | null;
    setTagData$forItemWithURL$completion$(tagData: _NSData | null, itemURL: _NSURL, completion: (error: _NSError) => void): void;
    /**
     * The directories managed by this extension. The extension receives ``FIFinderSync/beginObservingDirectoryAtURL:`` and ``FIFinderSync/endObservingDirectoryAtURL:`` messages for every directory in this set and for all of their subdirectories. Always set `directoryURLs` when the extension starts. If there are no directories to watch, set `directoryURLs` to an empty set.
     */
    directoryURLs(): _NSSet;
    setDirectoryURLs$(value: _NSSet): void;
}
