import * as O from 'fp-ts/Option';
import * as t from 'io-ts';
import * as Version from './Version';
declare type Option = O.Option;
declare type Version = Version.Version;
export interface PackageJson {
readonly name: string;
readonly version?: Version;
readonly workspaces?: string[];
readonly beehiveFlow?: {
readonly primaryWorkspace?: string;
};
readonly dependencies?: Record;
readonly devDependencies?: Record;
readonly [k: string]: unknown;
}
export declare const versionCodec: t.Type;
export declare const packageJsonCodec: () => t.Type;
export declare const pjInFolder: (folder: string) => string;
export declare const decodeE: (j: unknown) => t.Validation;
export declare const decode: (j: unknown) => Promise;
export declare const parsePackageJsonFile: (file: string) => Promise;
export declare const parsePackageJsonFileInFolder: (folder: string) => Promise;
export declare const toJson: (pj: PackageJson) => unknown;
export declare const writePackageJsonFile: (file: string, pj: PackageJson) => Promise;
export declare const setVersion: (pj: PackageJson, version: Option) => PackageJson;
export declare const writePackageJsonFileWithNewVersion: (pj: PackageJson, newVersion: Version, pjFile: string) => Promise;
export declare const shouldNotHavePreReleasePackages: (pj: PackageJson) => Promise;
export {};
//# sourceMappingURL=PackageJson.d.ts.map