import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSOperationQueue } from "../Foundation/NSOperationQueue.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { _NSPasteboardReading } from "./NSPasteboardReading.js";
export declare class _NSFilePromiseReceiver extends _NSObject {
    static alloc(): _NSFilePromiseReceiver;
    static new(): _NSFilePromiseReceiver;
    init(): _NSFilePromiseReceiver;
    /**
     * A view must register what types it accepts via -registerForDraggedTypes:. Use this class method to get the file promise drag types that NSFilePromiseReceiver can accept, in order to register a view to accept promised files.
     */
    static readableDraggedTypes(): _NSArray;
    /**
     * This effectively calls in the promises. Therefore, only call once you are accepting the file promise. All file promisesReceiver's in a drag must specify the same destination location. This is an array, because legacy promises are an array of files on one pasteboard item. The reader block is called on the supplied operationQueue when the promised file is ready to be read. When the source is an NSFilePromiseProvider, the readerBlock call is wrapped in an NSFileCoordination read. Otherwise, a heuristic is used to determine when the promised file is ready to be read. The options dictionary is ignored for now. Note: Writing of the promised file may be cancelled or fail. When either occurs, the readerBlock is still called, but with a non-nil NSError. When NSError is non-nil, fileURL should be ignored.
     */
    receivePromisedFilesAtDestination$options$operationQueue$reader$(destinationDir: _NSURL, options: _NSDictionary, operationQueue: _NSOperationQueue, reader: ((fileURL: _NSURL, errorOrNil: _NSError) => void) | null): void;
    /**
     * The UTI of the file types promised (Note: The count of fileTypes should tell you the number of promised files, however, that is not guaranteed. Historically, some legacy file promisers only list each unique fileType once and write one or more files per type.
     */
    fileTypes(): _NSArray;
    /**
     * The file names of the promised files that are being written to the destination location. Note: This property returns an empty array until the file promise is called in via receivePromisedFilesAtDestination. Note: This is an array, because legacy promises are an array of files on one pasteboard item.
     */
    fileNames(): _NSArray;
}
export interface _NSFilePromiseReceiver extends _NSPasteboardReading {
}
