/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { URI } from '@sussudio/base/common/uri.mjs';
import {
	CLIOutput,
	IExtensionGalleryService,
	IExtensionManagementService,
	InstallOptions,
} from './extensionManagement.mjs';
import { IExtensionManifest } from '../../extensions/common/extensions.mjs';
export declare class ExtensionManagementCLI {
	private readonly extensionManagementService;
	private readonly extensionGalleryService;
	constructor(
		extensionManagementService: IExtensionManagementService,
		extensionGalleryService: IExtensionGalleryService,
	);
	protected get location(): string | undefined;
	listExtensions(showVersions: boolean, category?: string, profileLocation?: URI, output?: CLIOutput): Promise<void>;
	installExtensions(
		extensions: (string | URI)[],
		builtinExtensionIds: string[],
		installOptions: InstallOptions,
		force: boolean,
		output?: CLIOutput,
	): Promise<void>;
	private installVSIX;
	private getGalleryExtensions;
	private installFromGallery;
	protected validateExtensionKind(_manifest: IExtensionManifest, output: CLIOutput): boolean;
	private validateVSIX;
	uninstallExtensions(
		extensions: (string | URI)[],
		force: boolean,
		profileLocation?: URI,
		output?: CLIOutput,
	): Promise<void>;
	locateExtension(extensions: string[], output?: CLIOutput): Promise<void>;
	private notInstalled;
}
