import { LineConsumingLog } from './line-consuming-log';
import type { Simulator } from 'appium-ios-simulator';
import type { AppiumLogger } from '@appium/types';
export interface IOSSimulatorLogOptions {
    sim: Simulator;
    showLogs?: boolean;
    iosSimulatorLogsPredicate?: string;
    simulatorLogLevel?: string;
    log: AppiumLogger;
    iosSyslogFile?: string;
}
export declare class IOSSimulatorLog extends LineConsumingLog {
    private readonly sim;
    private readonly showLogs;
    private readonly predicate?;
    private readonly logLevel?;
    private proc;
    private readonly iosSyslogFile?;
    private syslogLogger;
    constructor(opts: IOSSimulatorLogOptions);
    get isCapturing(): boolean;
    startCapture(): Promise<void>;
    stopCapture(): Promise<void>;
    private clearExistingSyslog;
    private shutdownSyslogger;
    private onOutput;
    /**
     * Writes the given log row to the dedicated iOS syslog file if the logger is active.
     * @param {string} logRow - The log line to write.
     * @private
     */
    private writeToSyslogFile;
    private killLogSubProcess;
    private finishStartingLogCapture;
    private cleanupObsoleteLogStreams;
}
export default IOSSimulatorLog;
//# sourceMappingURL=ios-simulator-log.d.ts.map