import { ExportTargetOptions } from "../../export/helpers/prepare.js"; import { DocumentNotModified } from "../types/modified.js"; import { DownloadSourceMixin } from "../types/sources.js"; import { UnzipFilterCallback } from "../helpers/unzip.js"; import { GitLabAPIOptions } from "./types.js"; interface IfModifiedSinceOption { ifModifiedSince: string | DownloadGitLabRepoResult; } /** * Options for downloadGitLabRepo() */ interface DownloadGitLabRepoOptions extends ExportTargetOptions, GitLabAPIOptions, Partial { cleanupOldFiles?: boolean; cleanupOldDirectories?: boolean; log?: boolean; filter?: UnzipFilterCallback; } /** * Result */ interface DownloadGitLabRepoResult extends DownloadSourceMixin<'gitlab'> { rootDir: string; contentsDir: string; hash: string; } /** * Download GitLab repo using API */ declare function downloadGitLabRepo(options: T): Promise; declare function downloadGitLabRepo(options: DownloadGitLabRepoOptions): Promise; export { DownloadGitLabRepoOptions, DownloadGitLabRepoResult, downloadGitLabRepo };