import type { LintResult } from './package-lint.ts';
export declare function checkVersionConsistency(cwd: string, rootPkg: Record<string, unknown>, workspaces: {
    location: string;
    name: string;
}[]): LintResult;
export declare function fixVersionConsistency(cwd: string, rootPkg: Record<string, unknown>, writeRootPackageJson: (cwd: string, pkg: Record<string, unknown>) => void, workspaces: {
    location: string;
    name: string;
}[]): void;
export declare function checkInternalDepVersions(cwd: string, workspaces: {
    location: string;
    name: string;
}[]): LintResult;
export declare function fixInternalDepVersions(cwd: string, workspaces: {
    location: string;
    name: string;
}[]): void;
export declare function checkWorkspaceProtocol(cwd: string, workspaces: {
    location: string;
    name: string;
}[]): LintResult;
export declare function fixWorkspaceProtocol(cwd: string, workspaces: {
    location: string;
    name: string;
}[]): void;
export declare function checkInternalPeerVersions(cwd: string, workspaces: {
    location: string;
    name: string;
}[]): LintResult;
export declare function fixInternalPeerVersions(cwd: string, workspaces: {
    location: string;
    name: string;
}[]): void;
/**
 * Syncs all internal peerDependency versions to match current workspace versions.
 * Called by xy publish to ensure peerDeps are correct before publishing.
 *
 * With `verbose`, logs start/end markers and a per-workspace scan line so the
 * pre-publish phase isn't silent on large monorepos — otherwise it only logs
 * when it actually changes a peerDep, which can look hung on big repos.
 */
export declare function syncInternalPeerVersions({ verbose }?: {
    verbose?: boolean;
}): number;
/**
 * Reads the shared monorepo version from the first non-root workspace
 * and logs it. Call at the end of deploy to report the new version.
 */
export declare function logMonorepoVersion(): void;
//# sourceMappingURL=package-lint-deps.d.ts.map