import { ComparisonResult } from './types';
export type ResolutionStrategy = 'highest' | 'lowest';
export type PackageManager = 'npm' | 'yarn';
export declare const logPackageConflicts: (conflicts: ComparisonResult[]) => void;
export declare const syncDependencies: (workingDir: string, registry: string, packages: string[], packageManager: "npm" | "yarn") => Promise<void>;
export declare const resolveConflicts: (conflicts: ComparisonResult[][], resolutionStrategy: ResolutionStrategy) => string[];
export declare const groupByPackageName: (conflicts: Record<string, ComparisonResult>) => ComparisonResult[][];
export declare const groupBySampleModule: (conflicts: Record<string, ComparisonResult>) => ComparisonResult[][];
export declare const groupByBaselineModule: (conflicts: Record<string, ComparisonResult>) => ComparisonResult[][];
/**
 * Syncs shared dependencies
 * @param workingDir - working directory
 * @param registry - registry to sync dependencies with
 * @param conflicts - shared dependencies to sync
 * @param resolutionStrategy - resolution strategy to use for syncing dependencies (highest or lowest)
 * @param packageManager - package manager to use for syncing dependencies (npm or yarn)
 * @param dryRun - if true, only logs the shared dependencies to sync
 */
declare const _default: (workingDir: string, registry: string, conflicts: Record<string, ComparisonResult>, resolutionStrategy?: ResolutionStrategy, packageManager?: PackageManager, dryRun?: boolean) => Promise<void>;
export default _default;
//# sourceMappingURL=sync.d.ts.map