import type { Accessor } from '../../accessor/base.ts'; import type { IndexEntry } from '../../cache/index/config.ts'; import type { IndexCacheStore } from '../../cache/index/store.ts'; import type { PathSpec } from '../../types.ts'; import { type ReaddirFn } from './probe.ts'; import { type DetectFn, type ScopeMatch } from './scope.ts'; export type DeleteFn = (accessor: A, match: ScopeMatch, entry: IndexEntry) => Promise; /** * Build a hierarchy unlink: classify, resolve, delete, invalidate. * * A deleter owns only the backend delete call; classification, the * id-resolving parent listing, the directory refusal and the cache * invalidation happen here, identically for every backend. `deleters` holds * one deleter per leaf kind. The match rides along because a delete * addressed inside a container needs the container's slots (gcal deletes an * event from a calendar), while a globally-id-addressed backend just * ignores it. */ export declare function makeUnlink(detect: DetectFn, readdir: ReaddirFn, options: { deleters: Readonly>>; }): (accessor: A, path: PathSpec, index?: IndexCacheStore) => Promise; //# sourceMappingURL=unlink.d.ts.map