import { AnsiLogger } from 'matterbridge/logger';
import { Device } from '../roborockCommunication/models/index.js';
import { MessageRoutingService } from './messageRoutingService.js';
/** Polls device status via local network or MQTT. */
export declare class PollingService {
    private readonly refreshInterval;
    private readonly logger;
    private readonly messageRoutingService;
    private localIntervals;
    constructor(refreshInterval: number, logger: AnsiLogger, messageRoutingService: MessageRoutingService);
    /** Start polling device status via local UDP. */
    activateDeviceNotifyOverLocal(device: Device): void;
    /** Trigger a one-shot local status request without affecting the recurring interval. */
    requestStatusOnce(duid: string): Promise<void>;
    /** Stop all polling intervals. */
    stopPolling(): void;
    private stopLocalPollingForDevice;
    /** Cleanup and shutdown. */
    shutdown(): Promise<void>;
}
//# sourceMappingURL=pollingService.d.ts.map