export type PackageManager = 'npm' | 'pnpm' | 'yarn';
type PackageManagerField = {
    packageManager: string;
    version?: string;
};
export type PackageStructure = {
    lockFile?: string;
    compatiblePackageManager?: readonly PackageManager[];
    packageManagerField?: PackageManagerField;
    workspaceRoot?: string;
};
export declare const hasLockFile: (pm: PackageManager, cwd: string) => Promise<boolean>;
export declare const detectPackageStructure: ({ cwd }: {
    cwd?: string;
}) => Promise<PackageStructure>;
export declare const whichPackageManager: ({ cwd, preferred, checkExecutable, ignorePackageManagerField, }?: {
    cwd?: string;
    preferred?: PackageManager[];
    checkExecutable?: boolean;
    ignorePackageManagerField?: boolean;
}) => Promise<string | undefined>;
export {};
