import { ExportTargetOptions } from '../../export/helpers/prepare.js'; import { DocumentNotModified } from '../types/modified.js'; import { DownloadSourceMixin } from '../types/sources.js'; import { GitHubAPIOptions } from './types.js'; interface IfModifiedSinceOption { ifModifiedSince: string | DownloadGitHubRepoResult; } /** * Options for downloadGitHubRepo() */ interface DownloadGitHubRepoOptions extends ExportTargetOptions, GitHubAPIOptions, Partial { cleanupOldFiles?: boolean; cleanupOldDirectories?: boolean; log?: boolean; } /** * Result */ interface DownloadGitHubRepoResult extends DownloadSourceMixin<'github'> { rootDir: string; contentsDir: string; hash: string; } /** * Download GitHub repo using API */ declare function downloadGitHubRepo(options: T): Promise; declare function downloadGitHubRepo(options: DownloadGitHubRepoOptions): Promise; export { DownloadGitHubRepoOptions, DownloadGitHubRepoResult, downloadGitHubRepo };