import { ProcessesWorker } from '@taon-dev/cloud';
import { TraefikProvider } from '@taon-dev/cloud';
import { InstancesWorker } from '@taon-dev/cloud';
import { BaseCliWorker } from 'tnp-helpers';
import type { TaonProjectResolve } from '../project-resolve';
import { DeploymentsWorker } from './deployments/deployments.worker';
import { DevBuildController } from './dev-build/dev-build.controller';
import { DevModeWorker } from './dev-mode/dev-mode.worker';
import { TaonTerminalUI } from './taon-terminal-ui';
import { TaonProjectsController } from './taon.controller';
export declare class TaonProjectsWorker extends BaseCliWorker<TaonProjectsController, TaonTerminalUI> {
    readonly ins: TaonProjectResolve;
    readonly terminalUI: TaonTerminalUI;
    readonly workerContextTemplate: any;
    readonly controllerClass: typeof TaonProjectsController;
    readonly deploymentsWorker: DeploymentsWorker;
    readonly instancesWorker: InstancesWorker;
    readonly processesWorker: ProcessesWorker;
    readonly traefikProvider: TraefikProvider;
    readonly devModeWorker: DevModeWorker;
    constructor(
    /**
     * unique id for service
     */
    serviceID: string, 
    /**
     * external command that will start service
     */
    startCommandFn: () => string, ins: TaonProjectResolve);
    private contexts;
    getDevBuildControllerForPort(port: number | string): Promise<DevBuildController>;
    /**
     * start normally process
     * this will crash if process already started
     */
    startNormallyInCurrentProcess(): Promise<void>;
    enableCloud(): Promise<void>;
    disableCloud(): Promise<void>;
}