import type { EventEmitter } from 'node:events';
export interface LogEntry {
    timestamp: number;
    level: string;
    message: string;
}
export type Filter = (x: LogEntry) => Promise<boolean>;
export declare class LogMonitor {
    private readonly _logsEmitter;
    private readonly _filter;
    private _lastMatch;
    private _outputListener;
    constructor(logsEmitter: EventEmitter, filter: Filter);
    get started(): boolean;
    clearlastMatch(): void;
    get lastMatch(): LogEntry | null;
    waitForLastMatchExist(maxRetryCount?: number, retryBackoffTime?: number): Promise<LogEntry | null>;
    start(): this;
    stop(): this;
    private _onOutput;
}
//# sourceMappingURL=log-monitor.d.ts.map