import type { DoctorCheck } from './cli-doctor.js'; import type { WorkspacePackageJson, WorkspaceProject } from '../workspace/workspace-project.js'; /** * Snapshot of package-level filesystem doctor inputs prepared asynchronously. */ export interface WorkspacePackageDoctorSnapshot { /** Whether the expected workspace bootstrap PHP file exists. */ bootstrapExists: boolean; /** Relative path to the expected workspace bootstrap PHP file. */ bootstrapRelativePath: string; /** Whether the migration config file exists. */ migrationConfigExists: boolean; /** Relative path to the migration config file. */ migrationConfigRelativePath: string; } /** * Prepare package-level workspace doctor inputs without blocking the event loop. * * @param workspace Resolved workspace metadata and filesystem paths. * @param packageJson Parsed workspace package manifest. * @returns Snapshot values consumed by synchronous doctor row mappers. */ export declare function prepareWorkspacePackageDoctorSnapshot(workspace: WorkspaceProject, packageJson: WorkspacePackageJson): Promise; /** * Validate the package metadata that makes a project an official workspace. * * @param workspace Resolved workspace metadata and filesystem paths. * @param packageJson Parsed workspace package manifest. * @param snapshot Async filesystem snapshot for package-level doctor inputs. * @returns A `DoctorCheck` describing whether package metadata matches the workspace contract. */ export declare function getWorkspacePackageMetadataCheck(workspace: WorkspaceProject, packageJson: WorkspacePackageJson, snapshot: WorkspacePackageDoctorSnapshot): DoctorCheck; /** * Report whether a workspace configured for migrations exposes the expected doctor inputs. * * @param packageJson Parsed workspace package manifest. * @param snapshot Async filesystem snapshot for package-level doctor inputs. * @returns A migration hint row when the workspace uses migrations, otherwise `null`. */ export declare function getMigrationWorkspaceHintCheck(packageJson: WorkspacePackageJson, snapshot: WorkspacePackageDoctorSnapshot): DoctorCheck | null;