import { InstallOptions, PackageInstallationResult, PackageManager, PackageManagerProgress } from "./package-manager";
export declare class Yarn implements PackageManager {
    private pathToYarnCli;
    constructor(pathToYarnCli?: string | undefined);
    install(directory: string, packages: string[], options?: InstallOptions, reportProgress?: (progress: PackageManagerProgress) => void): Promise<PackageInstallationResult>;
    clean(directory: string): Promise<void>;
    execYarn(cwd: string, args: string[], onYarnEvent?: (event: YarnEvent) => void): Promise<import("./exec-cmd").ExecResult>;
}
type YarnEvent = YarnProgressTick | YarnProgressStart | YarnProgressFinish | YarnStep | YarnLog;
interface YarnProgressTick {
    type: "progressTick";
    data: {
        id: number;
        current: number;
    };
}
interface YarnProgressStart {
    type: "progressStart";
    data: {
        id: number;
        total: number;
    };
}
interface YarnProgressFinish {
    type: "progressFinish";
    data: {
        id: number;
    };
}
interface YarnStep {
    type: "step";
    data: {
        message: string;
        current: number;
        total: number;
    };
}
interface YarnLog {
    type: "info" | "warning" | "error";
    data: string;
}
export {};
//# sourceMappingURL=yarn.d.ts.map