#!/usr/bin/env node
import type { PathLike } from 'fs-extra';
export declare class CameraUiCLI {
    readonly DEFAULT_PORT = 3443;
    selfPath: string;
    processPath: string;
    action: 'install' | 'uninstall' | 'reinstall' | 'before-start' | 'start' | 'stop' | 'restart' | 'run' | 'logs' | 'status' | 'update-server';
    homePath: string;
    storagePath: string;
    serviceName: string;
    allowRunRoot: boolean;
    worker: boolean;
    asUser?: string;
    addGroup?: string;
    docker?: boolean;
    uid?: number;
    gid?: number;
    updateVersion?: string;
    private installer;
    private logging;
    private signalHandler?;
    private serverManager;
    private shuttingDown;
    private shuttingDownNodemon;
    private restartTimeout?;
    private restartAttempts;
    private lastStartTime;
    private readonly MAX_RESTART_ATTEMPTS;
    private readonly BASE_RESTART_DELAY;
    private readonly MAX_RESTART_DELAY;
    private readonly STABLE_RUN_MS;
    get abortRestart(): boolean;
    get isDocker(): boolean;
    get logPath(): string;
    get configFilePath(): string;
    get uiPort(): number;
    constructor();
    logger(msg: string, level: 'info' | 'succeed' | 'fail' | 'warn' | 'debug' | 'raw', write?: boolean): void;
    printPostInstallInstructions(type: 'start' | 'restart' | 'status'): Promise<void>;
    portCheck(): Promise<void>;
    homePathCheck(): Promise<void>;
    chownPath(pathToChown: PathLike): Promise<void>;
    getUserHomeDir(): string;
    waitForApiHealth(maxWaitTime?: number): Promise<boolean>;
    private nodeVersionCheck;
    private createInstaller;
    private cli;
    private setEnv;
    private runAction;
    private nvmCheck;
    private launch;
    private run;
    private stop;
    private tailLogs;
    private statusCheck;
    private fetchApiHealth;
    private showVersion;
    private programUsage;
    private storagePathCheck;
    private fixDockerPermissions;
    private staleProcessCheck;
    private handleClose;
}
