import { IServeTask } from "./i-serve-task";
import { IServeTaskExecuteOptions } from "./i-serve-task-execute-options";
import { IBuildLogger } from "../../build-debugger/i-build-logger";
import { IProjectParser } from "../../parser/project-parser/i-project-parser";
import { IDevServer } from "../../dev-server/i-dev-server";
import { IProjectPathUtil } from "../../util/project-path-util/i-project-path-util";
import { ICacher } from "../../cacher/i-cacher";
import { IBuildConfig } from "../../build-config/i-build-config";
/**
 * A task used for building a Fovea project
 */
export declare class ServeTask implements IServeTask {
    private readonly buildLogger;
    private readonly projectParser;
    private readonly projectPathUtil;
    private readonly devServer;
    private readonly cacher;
    private readonly config;
    constructor(buildLogger: IBuildLogger, projectParser: IProjectParser, projectPathUtil: IProjectPathUtil, devServer: IDevServer, cacher: ICacher, config: IBuildConfig);
    /**
     * Executes a 'serve' task
     * @param {IServeTaskExecuteOptions} options
     * @returns {Promise<void>}
     */
    execute(options: IServeTaskExecuteOptions): Promise<void>;
}
