import { IConfigParserService } from "./i-config-parser-service";
import { IConfigParserServiceOptions } from "./i-config-parser-service-options";
import { IFoveaCliConfig, IFoveaCliConfigWithAppName } from "../../../fovea-cli-config/i-fovea-cli-config";
import { IBuildConfig } from "../../../build-config/i-build-config";
import { NormalizeFunction } from "../../../normalize/normalize-function";
import { IRollupService } from "../../rollup/rollup-service/i-rollup-service";
import { IRollupServiceGenerateWithResultResult } from "../../rollup/rollup-service/i-rollup-service-generate-with-result-result";
import { IWatchService } from "../../watch/i-watch-service";
import { IObserver } from "../../../observable/i-observer";
import { ISubscriber } from "../../../observable/i-subscriber";
/**
 * A class that helps with parsing a fovea-cli.config file
 */
export declare class ConfigParserService implements IConfigParserService {
    private readonly config;
    private readonly rollupService;
    private readonly normalizeFunction;
    private readonly watchService;
    constructor(config: IBuildConfig, rollupService: IRollupService, normalizeFunction: NormalizeFunction<IFoveaCliConfig, Partial<IFoveaCliConfigWithAppName>>, watchService: IWatchService);
    /**
     * Parses the config matched by the given options and returns an IFoveaCliConfig
     * @param {IConfigParserServiceOptions} options
     * @param {ISubscriber<IRollupServiceGenerateWithResultResult<IFoveaCliConfig>>} subscriber
     * @returns {IObserver}
     */
    parse({ root, path, packageJson, cache, watch }: IConfigParserServiceOptions, subscriber: ISubscriber<IRollupServiceGenerateWithResultResult<IFoveaCliConfig>>): IObserver;
}
