import type { ConfiguredPackage, MissingSourceAction, PackageManager, PackageManagerOptions, PackageUpdate, ProgressCallback, ResolvedPaths, ResolveExtensionSourcesOptions } from "./package-manager-types.ts";
import type { PackageSource } from "./settings-manager.ts";
export type { ConfiguredPackage, MissingSourceAction, PackageManager, PackageManagerOptions, PackageUpdate, PathMetadata, ProgressCallback, ProgressEvent, ResolvedPaths, ResolvedResource, ResolveExtensionSourcesOptions, } from "./package-manager-types.ts";
export declare class DefaultPackageManager implements PackageManager {
    private readonly context;
    constructor(options: PackageManagerOptions);
    setProgressCallback(callback: ProgressCallback | undefined): void;
    addSourceToSettings(source: string, options?: {
        local?: boolean;
    }): boolean;
    removeSourceFromSettings(source: string, options?: {
        local?: boolean;
    }): boolean;
    getInstalledPath(source: string, scope: "user" | "project"): string | undefined;
    resolve(onMissing?: (source: string) => Promise<MissingSourceAction>): Promise<ResolvedPaths>;
    resolveExtensionSources(sources: PackageSource[], options?: ResolveExtensionSourcesOptions): Promise<ResolvedPaths>;
    listConfiguredPackages(): ConfiguredPackage[];
    install(source: string, options?: {
        local?: boolean;
    }): Promise<void>;
    installAndPersist(source: string, options?: {
        local?: boolean;
    }): Promise<void>;
    remove(source: string, options?: {
        local?: boolean;
    }): Promise<void>;
    removeAndPersist(source: string, options?: {
        local?: boolean;
    }): Promise<boolean>;
    update(source?: string): Promise<void>;
    checkForAvailableUpdates(): Promise<PackageUpdate[]>;
    private parseSource;
    private getPackageIdentity;
    private getGitInstallPath;
    private installParsedSource;
    private updateGit;
    private gitHasAvailableUpdate;
    private refreshTemporaryGitSource;
    private getLocalGitUpdateTarget;
    private getGlobalNpmRoot;
    private getLatestNpmVersion;
    private spawnCommand;
    private spawnCaptureCommand;
    private runCommandCapture;
    private runCommand;
    private runCommandSync;
}
//# sourceMappingURL=package-manager.d.ts.map