/// <reference types="node" />
import { Socket } from "net";
import { ChildProcessWithoutNullStreams } from "child_process";
declare class FastlaneBase {
    /** @private */
    protected port?: number;
    /** @private */
    protected socket?: Socket;
    /** @private */
    protected isInteractive: boolean;
    /** @private */
    protected childProcess?: ChildProcessWithoutNullStreams;
    /** @private */
    protected _debug: boolean;
    constructor(port?: number, isInteractive?: boolean, debug?: boolean);
    setDebug(newValue?: boolean): void;
    isDebug(): boolean;
    log(...args: any): void;
    start(): Promise<void>;
    close(): Promise<any>;
    send({ commandType, command }: {
        commandType: string;
        command: {};
    }): Promise<any>;
    doAction(action: string, argObj: {}): Promise<any>;
}
declare const withFastlaneBase: (f: (fastlane: FastlaneBase) => Promise<any>, { port, isInteractive, }: {
    port?: number;
    isInteractive?: boolean;
}) => Promise<any>;
declare const doActionOnce: (action: string, argobj: {}, isInteractive?: boolean, port?: number) => Promise<any>;
export { FastlaneBase, doActionOnce, withFastlaneBase };
