import { Logger } from "@definitelytyped/utils"; import { PreparePackagesResult } from "./get-affected-packages"; import { AllPackages, NotNeededPackage, PackageId } from "./packages"; export type GitDiff = { status: "A" | "D" | "M"; file: string; } | { status: "R"; file: string; source: string; }; export declare function gitDiff(log: Logger, definitelyTypedPath: string, diffBase: string): Promise; /** * @returns packages with added or removed files, but not packages with only changed files; * {@link getAffectedPackages | those are found by calling pnpm }. */ export declare function gitChanges(diffs: GitDiff[], getAttwJson: () => Promise<{ base: { failingPackages: string[]; }; head: { failingPackages: string[]; }; }>): Promise<{ errors: string[]; } | { deletions: PackageId[]; additions: PackageId[]; attwChanges: PackageId[]; }>; export declare function getAffectedPackagesFromDiff(allPackages: AllPackages, definitelyTypedPath: string, diffBase: string): Promise; /** * 1. libraryName must exist on npm (SKIPPED and preferably/optionally have been the libraryName in just-deleted header) * 2. asOfVersion must be newer than `@types/name@latest` on npm * 3. `name@asOfVersion` must exist on npm */ export declare function checkNotNeededPackage(unneeded: NotNeededPackage): Promise; /** * 1. Find all the deleted files and group by package (error on deleted files outside a package). * 2. Make sure that all deleted packages in notNeededPackages have no files left. */ export declare function getNotNeededPackages(allPackages: AllPackages, deletions: PackageId[]): Promise<{ errors: string[]; } | NotNeededPackage[]>;