import { z } from 'zod'; export interface PackageJson { name?: string; type?: 'module' | 'commonjs'; version?: string; private?: boolean; description?: string; packageManager?: string; license?: string; homepage?: string; repository?: (string | { type: string; url: string; }); keywords?: string[]; catalogs?: Record>; workspaces?: string[]; scripts?: Record; dependencies?: Record; devDependencies?: Record; peerDependencies?: Record; optionalDependencies?: Record; bundledDependencies?: Record; engines?: Record; pnpm?: { overrides: Record; }; /** fuman-specific package.json fields */ fuman?: { /** * whether the package should be published to jsr * (skip – it won't be published to jsr, only – it will only be published to jsr) */ jsr?: 'skip' | 'only'; /** * whether the package should be published to npm * (skip – it won't be published to npm, only – it will only be published to npm) */ npm?: 'skip' | 'only'; /** by default @fuman/build strips all scripts, but you can keep some of them by passing their names here */ keepScripts?: string[]; /** * any additional fields that will be shallowly merged into the resulting package.json. * for more complex modifications than shallow merging, consider using build.config.js */ distOnlyFields?: Record; /** * whether this package has its own versioning scheme, not managed by @fuman/build * (be careful with this option! this might break cross-release semver compatibility) */ ownVersioning?: boolean; /** whether this package should not be published */ private?: boolean; /** * whether this is a "standalone" package * * standalone packages have a few differences from normal ones: * - (bump-version) each standalone package has independent versioning * - (lint) normal packages can't depend on standalone packages */ standalone?: boolean; }; [key: string]: any; } export declare const PackageJsonSchema: z.ZodObject;