import { IPackageJsonParser } from "./i-package-json-parser";
import { IPackageJsonParserOptions } from "./i-package-json-parser-options";
import { IFileLoader } from "@wessberg/fileloader";
import { IPackageJson } from "../../package-json/i-package-json";
import { NormalizeFunction } from "../../normalize/normalize-function";
import { IBuildConfig } from "../../build-config/i-build-config";
import { PackageJsonUserOptions } from "../../package-json/package-json-user-options";
import { IPackageJsonNormalizeFunctionConfig } from "../../package-json/i-package-json-normalize-function-config";
/**
 * A class that helps with parsing a package.json file
 */
export declare class PackageJsonParser implements IPackageJsonParser {
    private readonly fileLoader;
    private readonly config;
    private readonly normalizeFunction;
    constructor(fileLoader: IFileLoader, config: IBuildConfig, normalizeFunction: NormalizeFunction<IPackageJson, PackageJsonUserOptions, IPackageJsonNormalizeFunctionConfig>);
    /**
     * Parses the config matched by the given options and returns an IFoveaCliConfig
     * @param {string} path
     * @param {IPackageJson} packageJson
     * @returns {Promise<IPackageJson>}
     */
    parse({path}: IPackageJsonParserOptions): Promise<IPackageJson>;
}
