import { PackageInfo } from './types.js';
/**
 * Tries to figure out what all packages live in repository.
 * The repository may be a multi-package monorepo, or a single package
 * repo. Either way, we want to support both.
 * We will leave the responsibilty of updating the "root" monorepo package
 * to the user. They can use this library, but it will be opt-in.
 */
export declare function getPackages(cwd?: string): Promise<PackageInfo[]>;
/**
 * Based on an input set of files that have been touched by some series of git commits,
 * returns an array of PackageInfo[] that have been changed since
 */
export declare function getAllPackagesChangedBasedOnFilesModified(filesModified: string[], packages: PackageInfo[], cwd?: string): Promise<PackageInfo[]>;
/**
 * Given a set of found packages and an array of possible names,
 * filters the packages to only those that have exact name matches.
 *
 * Additionally, this function will remove the root package
 * if this repository is detected to be a multipackage monorepo
 *
 * If no names are provided, all packages are returned
 */
export declare function filterPackagesByNames(packages: PackageInfo[], names: string[] | undefined, cwd?: string): Promise<PackageInfo[]>;
