import type { AppiumLogger } from '@appium/types';
import type { EventEmitter } from 'node:events';
/**
 * Active DVT NetworkMonitor session: streams instrument events to the driver BiDi event bus.
 */
export declare class NetworkMonitorSession {
    private readonly log;
    private readonly udid;
    private dvt;
    private runPromise;
    private stopped;
    /**
     * @param log - Logger for this session (typically the driver logger).
     * @param udid - Target device UDID for `startDVTService`.
     */
    constructor(log: AppiumLogger, udid: string);
    /**
     * @returns `true` only while the consume loop may still be receiving events (`this.dvt` is set).
     * After normal completion, error, or {@link interrupt}, this becomes `false`.
     */
    isRunning(): boolean;
    /**
     * Opens `startDVTService` and begins iterating `networkMonitor.events()`, emitting each payload on `eventEmitter`
     * using `BIDI_EVENT_NAME` and `makeNetworkMonitorEvent` (BiDi `appium:xcuitest.networkMonitor`).
     *
     * @param eventEmitter - Typically the session driver's `eventEmitter` (WebDriver BiDi bus).
     */
    start(eventEmitter: EventEmitter): Promise<void>;
    /**
     * Stops monitoring: closes Remote XPC (same pattern as other `startDVTService` call sites in this driver).
     * Safe to call more than once.
     */
    interrupt(): Promise<void>;
    private consumeEvents;
}
//# sourceMappingURL=network-monitor-session.d.ts.map