function restoreCache(paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
    return __awaiter(this, void 0, void 0, function* () {
        const cacheServiceVersion = (0, config_1.getCacheServiceVersion)();
        core.debug(`Cache service version: ${cacheServiceVersion}`);
        checkPaths(paths);
        switch (cacheServiceVersion) {
            case 'v2':
                return yield restoreCacheV2(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
            case 'v1':
            default:
                return yield restoreCacheV1(paths, primaryKey, restoreKeys, options, enableCrossOsArchive);
        }
    });
}
Restores cache from keys

@param paths a list of file paths to restore from the cache
@param primaryKey an explicit key for restoring the cache. Lookup is done with prefix matching.
@param restoreKeys an optional ordered list of keys to use for restoring the cache if no cache hit occurred for primaryKey
@param downloadOptions cache download options
@param enableCrossOsArchive an optional boolean enabled to restore on windows any cache created on any platform
@returns string returns the key for the cache hit, otherwise returns undefined