import type { FetchFunction } from '@pnpm/fetching.fetcher-base'; import type { FetchFromRegistry, GetAuthHeader, RetryTimeoutOptions } from '@pnpm/fetching.types'; import type { StoreIndex } from '@pnpm/store.index'; import { TarballIntegrityError } from '@pnpm/worker'; import { type CreateDownloaderOptions } from './remoteTarballFetcher.js'; export { BadTarballError } from './errorTypes/index.js'; export { TarballIntegrityError }; export { createGitHostedTarballFetcher } from './gitHostedTarballFetcher.js'; export { createLocalTarballFetcher } from './localTarballFetcher.js'; export { createDownloader, type CreateDownloaderOptions, type DownloadFunction } from './remoteTarballFetcher.js'; export interface TarballFetchers { localTarball: FetchFunction; remoteTarball: FetchFunction; gitHostedTarball: FetchFunction; } export declare function createTarballFetcher(fetchFromRegistry: FetchFromRegistry, getAuthHeader: GetAuthHeader, opts: { unsafePerm?: boolean; ignoreScripts?: boolean; storeIndex: StoreIndex; timeout?: number; retry?: RetryTimeoutOptions; offline?: boolean; } & Pick): TarballFetchers;