import type { CdpClient } from './cdp-client.js';
import type { QueuedMediaHints } from './queued-media-hints.js';
import type { CursorState, SelectorConfig } from './types.js';
export declare class DOMExtractor {
    private queuedMediaHints?;
    private timer;
    private client;
    private selectors;
    private onState;
    private containerMissStreak;
    private composerTitleIndex;
    /** One CDP extract at a time — overlapping polls were piling up in the CDP queue. */
    private extractInFlight;
    constructor(selectors: SelectorConfig, onState: (state: Partial<CursorState> | null, error?: string) => void, queuedMediaHints?: QueuedMediaHints | undefined);
    start(client: CdpClient, intervalMs: number): void;
    stop(): void;
    pollNow(): void;
    private extract;
}
