import type { _FSItem } from "./FSItem.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { FSItemDeactivationOptions } from "./FSItemDeactivationOptions.js";
export interface _FSVolumeItemDeactivation {
    /**
     * Notifies the file system that the kernel is no longer making immediate use of the given item. This method gives a file system a chance to release resources associated wtih an item. However, this method prescribes no specific action; it's acceptable to defer all reclamation until ``FSVolume/Operations/reclaimItem(_:replyHandler:)``. This method is the equivalent of VFS's `VNOP_INACTIVE`. FSKit restricts calls to this method based on the current value of ``FSVolume/ItemDeactivation/itemDeactivationPolicy``. - Parameters: - item: The item to deactivate. - reply: A block or closure to indicate success or failure. If deactivation fails, pass an error as the one parameter to the reply handler. If deactivation succeeds, pass `nil`. For an `async` Swift implementation, there's no reply handler; simply throw an error or return normally.
     */
    deactivateItem$replyHandler$?(item: _FSItem, reply: ((error: _NSError) => void) | null): void;
    /**
     * A property that tells FSKit to which types of items the deactivation applies, if any. FSKit reads this value after the file system replies to the `loadResource` message. Changing the returned value during the runtime of the volume has no effect.
     */
    itemDeactivationPolicy?(): FSItemDeactivationOptions;
}
