import { WorkerContext } from './WorkerContext';
import { ProcessRepresentation } from '../domain';
/**
 * class WorkerProcessBootstrap
 * Bootstrap a worker process, handing all phases of an application stating
 */
export declare class WorkerProcessBootstrap {
    context: WorkerContext;
    entry: string;
    processRepresentation: ProcessRepresentation;
    private procfileReconciler;
    /**
     * @param {string} entry - where is the entry file of this process of the application. that can be null,
     * use the ProcfileReconciler to start if that be null.
     * @param {ProcessRepresentation} processRepresentation - ProcessRepresentation object
     */
    constructor(entry: string, processRepresentation: ProcessRepresentation);
    /**
     * Start process
     *  1. use the ProcfileReconciler to start if this.entry is not given
     *  2. use the this.entry to start if this.entry is given
     * @return {Promise<void>}
     */
    start(): Promise<void>;
    stop(): Promise<void>;
    /**
     * Use procfile.js to start
     * @returns {Promise<void>}
     */
    startByProcfile(): Promise<void>;
    /**
     * use this.entry to start
     * @returns {Promise<any>}
     */
    startByEntry(): Promise<{}>;
    /**
     * A static method to handing the CLI
     */
    static cmd(): void;
}
export declare function cmd(): void;
