import type { NobjcObject } from "objc-js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURL } from "../Foundation/NSURL.js";
export interface _QLPreviewItem {
    /**
     * The URL of the item to preview. <doc ://com.apple.documentation/documentation/quicklook/qlpreviewcontroller> uses this property to get an item’s URL. In typical use, you’d implement a getter method in your preview item class to provide this value. The value of this property must be a file-type URL. If the item isn’t available for preview, this property’s getter method should return ``nil``. In this case, the <doc ://com.apple.documentation/documentation/quicklook/qlpreviewcontroller> displays a “loading” view. Use <doc ://com.apple.documentation/documentation/quicklook/qlpreviewcontroller/1617011-refreshcurrentpreviewitem> to reload the item once the URL content is available.
     */
    previewItemURL?(): _NSURL;
    /**
     * The title to display for the preview item. If you don’t implement a getter method for this property, or if your method returns ``nil``, Quick Look examines the URL or content of the previewed item to determine an appropriate title. Return a ``non-nil`` value for this property to provide a custom title.
     */
    previewItemTitle?(): _NSString;
    /**
     * The display state for the preview item. The display state is an opaque object used by the preview panel. You typically use the ``QuickLookUI/QLPreviewPanel`` method ``QuickLookUI/QLPreviewPanel/displayState`` to retrieve the display state which you save for later use in the preview item. This way you can preserve the display state when the panel moves from or to another controller. This property is optional.
     */
    previewItemDisplayState?(): NobjcObject;
}
