import { ChildProcess } from 'child_process';
import { Transform, TransformCallback } from 'stream';
import type { CreateDebug, DebugLogger } from './types';
interface ExecuteOptions {
    command: string;
    app: {
        on(event: string, cb: (...args: any[]) => void): void;
        emit(event: string, ...args: unknown[]): void;
        setProviderStatus(id: string, msg: string): void;
        setProviderError(id: string, msg: string): void;
    };
    providerId: string;
    toChildProcess?: string;
    restartOnClose?: boolean;
    restartThrottleTime?: number;
    createDebug?: CreateDebug;
    debug?: DebugLogger;
    [key: string]: unknown;
}
export default class Execute extends Transform {
    private readonly options;
    private readonly debug;
    childProcess: ChildProcess;
    private pipeTo;
    private lastStartupTime;
    private stopped;
    constructor(options: ExecuteOptions);
    _transform(chunk: Buffer, encoding: BufferEncoding, done: TransformCallback): void;
    pipe<T extends NodeJS.WritableStream>(pipeTo: T): T;
    end(): this;
    private startProcess;
}
export {};
//# sourceMappingURL=execute.d.ts.map