/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import type { ExtensionInstallMetadata, GeminiCLIExtension } from '@3-/qwen-code-core'; import { ExtensionUpdateState } from '../../ui/state/extensions.js'; /** * Clones a Git repository to a specified local path. * @param installMetadata The metadata for the extension to install. * @param destination The destination path to clone the repository to. */ export declare function cloneFromGit(installMetadata: ExtensionInstallMetadata, destination: string): Promise; export declare function parseGitHubRepoForReleases(source: string): { owner: string; repo: string; }; export declare function checkForExtensionUpdate(extension: GeminiCLIExtension, setExtensionUpdateState: (updateState: ExtensionUpdateState) => void, cwd?: string): Promise; export interface GitHubDownloadResult { tagName: string; type: 'git' | 'github-release'; } export declare function downloadFromGitHubRelease(installMetadata: ExtensionInstallMetadata, destination: string): Promise; interface Asset { name: string; browser_download_url: string; } export declare function findReleaseAsset(assets: Asset[]): Asset | undefined; export declare function extractFile(file: string, dest: string): Promise; export {};