import { PackageJson } from 'read-pkg-up';
import type { Logger } from '../../cli/utils/logger';
declare const hashPackageJson: (cwd: string) => Promise<string | null>;
declare const readCachedHash: (cwd: string) => Promise<string | null>;
declare const writeCachedHash: (cwd: string, hash: string) => Promise<void>;
/**
 * From V5 this will be imported from the package.json of `@strapi/strapi`.
 */
declare const ADMIN_PEER_DEPS: {
    readonly react: "^18.0.0";
    readonly 'react-dom': "^18.0.0";
    readonly 'react-router-dom': "^6.0.0";
    readonly 'styled-components': "^6.0.0";
};
interface AdminPeerDep {
    name: string;
    wantedVersion: string;
}
declare class MissingAdminPeerDepsError extends Error {
    readonly missing: AdminPeerDep[];
    constructor(missing: AdminPeerDep[]);
}
/**
 * Returns admin peer dependencies that are not declared in the project's package.json.
 */
declare const findUndeclaredAdminPeerDeps: (cwd: string) => Promise<AdminPeerDep[]>;
declare const getInstallCommandHint: (missing: AdminPeerDep[]) => string;
declare const reportMissingAdminPeerDeps: (logger: Logger, missing: AdminPeerDep[]) => void;
/**
 * Validates declared admin peer dependencies (versions and node_modules presence).
 */
declare const validateDeclaredAdminPeerDeps: (cwd: string, logger: Logger) => Promise<void>;
declare const installAdminPeerDeps: (missing: AdminPeerDep[], { cwd, logger }: {
    cwd: string;
    logger: Logger;
}) => Promise<void>;
declare const reexecCurrentCommand: (cwd: string) => Promise<void>;
declare const getModule: (name: string, cwd: string) => Promise<PackageJson | null>;
export { ADMIN_PEER_DEPS, findUndeclaredAdminPeerDeps, validateDeclaredAdminPeerDeps, installAdminPeerDeps, reexecCurrentCommand, reportMissingAdminPeerDeps, getInstallCommandHint, MissingAdminPeerDepsError, getModule, hashPackageJson, readCachedHash, writeCachedHash, };
export type { AdminPeerDep, PackageJson };
//# sourceMappingURL=dependencies.d.ts.map