import { AnsiLogger } from 'matterbridge/logger';
import { CleanModeSetting } from '../../../behaviors/roborock.vacuum/core/CleanModeSetting.js';
import { MapInfo } from '../../../core/application/models/index.js';
import { MapRoomResponse } from '../../../types/device.js';
import { DeviceStatus } from '../../models/deviceStatus.js';
import { NetworkInfo, RawRoomMappingData } from '../../models/index.js';
import { RequestMessage } from '../../models/requestMessage.js';
import { Client } from '../../routing/client.js';
import { AbstractMessageDispatcher } from './abstractMessageDispatcher.js';
export declare class Q7MessageDispatcher implements AbstractMessageDispatcher {
    private readonly logger;
    private readonly client;
    dispatcherName: string;
    private lastB01Id;
    private get messageId();
    constructor(logger: AnsiLogger, client: Client);
    getNetworkInfo(duid: string): Promise<NetworkInfo | undefined>;
    getSerialNumber(duid: string): Promise<string | undefined>;
    getDeviceStatus(duid: string): Promise<DeviceStatus | undefined>;
    getHomeMap(duid: string): Promise<MapRoomResponse>;
    getMapInfo(duid: string): Promise<MapInfo>;
    getRoomMap(duid: string, activeMap: number): Promise<RawRoomMappingData>;
    goHome(duid: string): Promise<void>;
    startCleaning(duid: string): Promise<void>;
    startRoomCleaning(duid: string, roomIds: number[], repeat: number): Promise<void>;
    pauseCleaning(duid: string): Promise<void>;
    resumeCleaning(duid: string): Promise<void>;
    resumeRoomCleaning(duid: string): Promise<void>;
    stopCleaning(duid: string): Promise<void>;
    findMyRobot(duid: string): Promise<void>;
    sendCustomMessage(duid: string, def: RequestMessage): Promise<void>;
    getCustomMessage<T = unknown>(duid: string, def: RequestMessage): Promise<T>;
    getCleanModeData(duid: string): Promise<CleanModeSetting>;
    changeCleanMode(duid: string, setting: CleanModeSetting): Promise<void>;
    private createDps;
    private setCleanMode;
    private setVacuumMode;
    private setMopMode;
    setCleanRoute(duid: string, mopRoute: number): Promise<void>;
}
//# sourceMappingURL=Q7MessageDispatcher.d.ts.map