import { type PackageManagerId } from '../shared/package-managers.js'; import type { InitDependencyChange, InitPackageManagerFieldChange, InitScriptChange, ProjectPackageJson, RetrofitInitPlan } from './cli-init-types.js'; export declare const TTSC_LINT_COMPAT_HELPER_PATH = "scripts/apply-ttsc-lint-compat.mjs"; export declare const TTSC_LINT_COMPAT_HELPER_COMMAND = "node scripts/apply-ttsc-lint-compat.mjs"; export declare function readProjectPackageJson(projectDir: string): ProjectPackageJson | null; export declare function resolveInitPackageManager(projectDir: string, packageJson: ProjectPackageJson | null, override?: string): PackageManagerId; export declare function getWpTypiaCliSpecifier(): string; export declare function hasObsoleteTypiaUnpluginDependency(packageJson: ProjectPackageJson | null): boolean; export declare function buildDependencyChanges(packageJson: ProjectPackageJson | null): InitDependencyChange[]; /** Build only dependencies owned by official-workspace lint adoption. */ export declare function buildOfficialWorkspaceLintDependencyChanges(packageJson: ProjectPackageJson | null): InitDependencyChange[]; export declare function buildScriptChanges(packageJson: ProjectPackageJson | null, packageManager: PackageManagerId): InitScriptChange[]; /** * Add the combined TypeScript and lint gate to an existing official workspace. * Legacy managed lint aliases are removed, while unrelated project-owned * scripts remain untouched. */ export declare function buildOfficialWorkspaceLintScriptChanges(packageJson: ProjectPackageJson | null, packageManager: PackageManagerId): InitScriptChange[]; export declare function buildPackageManagerFieldChange(packageJson: ProjectPackageJson | null, packageManager: PackageManagerId, options?: { persistExplicitOverride?: boolean; }): InitPackageManagerFieldChange | undefined; export declare function hasExistingWpTypiaProjectSurface(projectDir: string, packageJson: ProjectPackageJson | null): boolean; export declare function buildNextProjectPackageJson(options: { packageChanges: RetrofitInitPlan['packageChanges']; packageJson: ProjectPackageJson | null; packageManager: PackageManagerId; projectName: string; removeTypiaUnplugin?: boolean; }): ProjectPackageJson; export declare function buildProjectPackageJsonSource(packageJson: ProjectPackageJson, currentSource?: string): string;