///
import { NativePath, PortablePath } from '@yarnpkg/fslib';
import { Readable, Writable } from 'stream';
import { Configuration } from './Configuration';
import { Project } from './Project';
import { Report } from './Report';
import { Workspace } from './Workspace';
import { Locator } from './types';
export declare function makeScriptEnv({ project, binFolder, lifecycleScript }: {
project?: Project;
binFolder: PortablePath;
lifecycleScript?: string;
}): Promise<{
[key: string]: string;
} & {
BERRY_BIN_FOLDER: string;
}>;
export declare function prepareExternalProject(cwd: PortablePath, outputPath: PortablePath, { configuration, report, workspace }: {
configuration: Configuration;
report: Report;
workspace?: string | null;
}): Promise;
declare type HasPackageScriptOption = {
project: Project;
};
export declare function hasPackageScript(locator: Locator, scriptName: string, { project }: HasPackageScriptOption): Promise;
declare type ExecutePackageScriptOptions = {
cwd?: PortablePath | undefined;
project: Project;
stdin: Readable | null;
stdout: Writable;
stderr: Writable;
};
export declare function executePackageScript(locator: Locator, scriptName: string, args: Array, { cwd, project, stdin, stdout, stderr }: ExecutePackageScriptOptions): Promise;
export declare function executePackageShellcode(locator: Locator, command: string, args: Array, { cwd, project, stdin, stdout, stderr }: ExecutePackageScriptOptions): Promise;
declare type ExecuteWorkspaceScriptOptions = {
cwd?: PortablePath | undefined;
stdin: Readable | null;
stdout: Writable;
stderr: Writable;
};
export declare function executeWorkspaceScript(workspace: Workspace, scriptName: string, args: Array, { cwd, stdin, stdout, stderr }: ExecuteWorkspaceScriptOptions): Promise;
export declare function hasWorkspaceScript(workspace: Workspace, scriptName: string): boolean;
declare type ExecuteWorkspaceLifecycleScriptOptions = {
cwd?: PortablePath | undefined;
report: Report;
};
export declare function executeWorkspaceLifecycleScript(workspace: Workspace, lifecycleScriptName: string, { cwd, report }: ExecuteWorkspaceLifecycleScriptOptions): Promise;
export declare function maybeExecuteWorkspaceLifecycleScript(workspace: Workspace, lifecycleScriptName: string, opts: ExecuteWorkspaceLifecycleScriptOptions): Promise;
declare type GetPackageAccessibleBinariesOptions = {
project: Project;
};
/**
* Return the binaries that can be accessed by the specified package
*
* @param locator The queried package
* @param project The project owning the package
*/
export declare function getPackageAccessibleBinaries(locator: Locator, { project }: GetPackageAccessibleBinariesOptions): Promise