import type { IndexEntry } from './config.ts'; import type { IndexCacheStore } from './store.ts'; /** * Resolve an index entry, listing the parent directory once when the lookup * is cold. * * Id-addressed backends (Drive, Box, Dropbox, Gmail) can only turn a path into * an id through the index, so a cold lookup has to warm it from the parent's * listing and retry. Every such backend had grown its own copy of that block; * this is the one place that decides what a failed listing means. * * A parent that is simply absent is not an error here — the caller reports * ENOENT against the operand, which is the path GNU names (`rm nodir/f` says * "cannot remove 'nodir/f'", not "nodir"). Every other failure propagates: an * expired token or a dropped connection reported as "no such file" both * misdiagnoses the fault and hides that it is worth retrying. * * Mirrors Python's entry_or_warm. * * @param index - the index to read, and to warm through `warm`. * @param virtualKey - the index key being resolved. * @param warm - lists the parent directory, populating the index; null when * the key has no distinct parent to list. */ export declare function entryOrWarm(index: IndexCacheStore, virtualKey: string, warm: (() => Promise) | null): Promise; //# sourceMappingURL=warm.d.ts.map