import { Octokit } from 'octokit'; import { Listing } from './Listing.js'; import { Package } from './Package.js'; import { Source } from './Source.js'; import './CommonTypes/Id.js'; import 'typia'; import './CommonTypes/NonEmptyString.js'; import './CommonTypes/Url.js'; import './CommonTypes/Version.js'; import './StrictPackage.js'; type Release = { name: string; tag_name: string; assets: { name: string; browser_download_url: string; }[]; }; type RetryDelayFunction = (attempt: number, error: Error | null, response: Response | null) => number; type RetryDelayOption = number | RetryDelayFunction; type RetryOnFunction = (attempt: number, error: Error | null, response: Response | null) => boolean | Promise; type RetryOnOption = number[] | RetryOnFunction; /** generate vpm repository listing json */ declare function generate( /** source json */ source: Source, /** options */ options: { /** octokit to call Github API */ octokit: Octokit; /** generate zipSHA256 */ calcSHA256?: boolean; /** logger ex: console.log */ logger?: (message: string) => unknown; /** fetch ZIP concurrency */ concurrency?: number; /** @deprecated Not used anymore since switching to batched GraphQL queries. */ apiConcurrency?: number; /** GraphQL API fetch repo batch size */ apiBatchRepositorySize?: number; /** skip assert if false */ check?: boolean; retries?: number; retryDelay?: RetryDelayOption; retryOn?: RetryOnOption; /** additional kv on version entry */ additionalOnVersion?: (context: { githubRepo: string; package: Package; release: Release; addFetchQueue(job: () => T): Promise; }) => Promise> | Record; }): Promise; export { type RetryDelayFunction, type RetryDelayOption, type RetryOnFunction, type RetryOnOption, generate };