import { CleanModeSetting } from '../../../behaviors/roborock.vacuum/core/CleanModeSetting.js';
import { MapInfo } from '../../../core/application/models/index.js';
import { MapRoomResponse } from '../../../types/index.js';
import { NetworkInfo, RawRoomMappingData, RequestMessage } from '../../models/index.js';
export interface AbstractMessageDispatcher {
    dispatcherName: string;
    readonly supportsMapQueryResponse: boolean;
    getNetworkInfo(duid: string): Promise<NetworkInfo | undefined>;
    getDeviceStatus(duid: string): Promise<void>;
    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>;
    skipRoomCleaning(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>;
    getHomeMap(duid: string): Promise<MapRoomResponse>;
    getMapInfo(duid: string): Promise<MapInfo>;
    getMapInfoV2(duid: string): Promise<void>;
    getRoomMap(duid: string, activeMap: number): Promise<RawRoomMappingData>;
    getRoomMapV2(duid: string, activeMap: number): Promise<void>;
    getSerialNumber(duid: string): Promise<string | undefined>;
    switchMap(duid: string, mapId: number): Promise<void>;
}
//# sourceMappingURL=abstractMessageDispatcher.d.ts.map