import { Type, type Static } from '@eggjs/typebox-validate/typebox'; import { Context } from 'egg'; import type { PackageJson, Simplify } from 'type-fest'; import { AbstractController } from '../AbstractController.ts'; type PackageVersion = Simplify; declare const FullPackageRule: Type.TObject<{ name: Type.TString; versions: Type.TOptional; _attachments: Type.TOptional; description: Type.TOptional; 'dist-tags': Type.TOptional>; readme: Type.TOptional; }>; type FullPackage = Omit, 'versions' | '_attachments'> & { versions: { [key: string]: PackageVersion; }; } & { _attachments: { [key: string]: { content_type: string; data: string; length: number; }; }; }; export declare class SavePackageVersionController extends AbstractController { private readonly packageManagerService; private readonly registryManagerService; private readonly cacheAdapter; save(ctx: Context, fullname: string, pkg: FullPackage): Promise<{ ok: boolean; rev: string; } | { ok: boolean; }>; private saveDeprecatedVersions; private validateNpmCommand; } export {};