import { Info } from './info'; import { Observer } from './observer'; import { subType } from './subs'; declare const wsutil: any; interface NOTIFY { event: string; data: string; } interface Message { command: string; data?: object; ack?: (res?: any) => void; } declare type Cbs = { onLoaded?: () => void; onUnloaded?: () => void; onOpened?: () => void; onClosed?: () => void; onAck?: () => void; }; interface OrderOptions { sourceId: number; trackingId: string; poiId?: number; cabinetId?: number; } export declare class YogoRobot extends wsutil { info: Info | null; cache: string; observer: Observer | null; constructor(addr?: string); on(type: subType, fn: () => void): void; onNotify(msg: NOTIFY): void; sendCommand({ command, data, ack }: Message): void; readonly cabinetIds: number[]; getCurCabinet(id: number): import("./cabinet").CabinetInfo | undefined; validateCabinetId(id: number): boolean; cabinetLoaded(id: number, cbs: Cbs): void; cabinetUnloaded(id: number, cbs: Cbs): void; /** * 开门,并执行回调 * @param {number} id - 门id,必传 * @param {object} cbs - 回调函数列表,仅支持onAck和onOpened,可以不传 * @param {function(): void} cbs.onAck - ack回调,可以不传 * @param {function(): void} cbs.onOpened - 回调函数,在门开时调用,可以不传 */ openCabinet(id: number, cbs: Cbs): void; /** * 关门,并执行回调 * @param {number} id - 门id,必传 * @param {object} cbs - 回调函数列表,仅支持onAck和onClosed,可以不传 * @param {function(): void} cbs.onAck - ack回调,可以不传 * @param {function(): void} cbs.onClosed - 回调函数,在门关时调用,可以不传 */ closeCabinet(id: number, cbs: Cbs): void; /** * 建单,并执行回调 * @param {number} sourceId - 开放平台app_id,必传 * @param {string} trackingId - 业务订单id,必传 * @param {number} poiId - 配送目的点id,必传 * @param {number} cabinetId - 订单所在柜格id,可以不传 * @param {object} cbs - 回调函数列表,仅支持onAck和onReply,可以不传 * @param {function(): void} cbs.onAck - ack回调,可以不传 */ createOrder({ sourceId, trackingId, poiId, cabinetId }: OrderOptions, cbs: Cbs): void; /** * 放单,并执行回调, 在调用createOrder时没有传cabinetId的情况下调用本方法 * @param {number} sourceId - 开放平台app_id,必传 * @param {string} trackingId - 业务订单id,必传 * @param {number} cabinetId - 订单所在柜格id,必传 * @param {object} cbs - 回调函数列表,仅支持onAck,可以不传 * @param {function(): void} cbs.onAck - ack回调,可以不传 */ putOrder({ sourceId, trackingId, cabinetId }: OrderOptions, cbs: Cbs): void; /** * 完成任务,并执行回调 * @param {number} sourceId - 开放平台app_id,必传 * @param {string} trackingId - 业务订单id,必传 * @param {object} cbs - 回调函数列表,仅支持onAck,可以不传 * @param {function(): void} onAck - ack回调,可以不传 */ completeOrder({ sourceId, trackingId }: OrderOptions, cbs: Cbs): void; /** * 取消订单,并且执行回调 * @param {number} sourceId - 开放平台app_id,必传 * @param {string} trackingId - 业务订单id,必传 * @param {object} cbs - 回调函数列表,仅支持onAck,可以不传 * @param {function(): void} cbs.onAck - ack回调,可以不传 */ cancelOrder({ sourceId, trackingId }: OrderOptions, cbs: Cbs): void; /** * 设置灯光,并执行回调 * @param {number} id - 灯效id,必传 * @param {object} cbs - 回调函数列表,仅支持onAck,可以不传 * @param {function(): void} cbs.onAck - ack回调,可以不传 */ setLight(id: number, cbs: Cbs): void; openCabinetWithLoaded(cabinetId: number, { onAck, onOpened, onLoaded }: Cbs): void; openCabinetWithUnloaded(cabinetId: number, { onAck, onOpened, onUnloaded }: Cbs): void; /** * 获取机器所在集群的信息(建筑,地点) * @param cbs */ getClusterInfo(cbs: { onAck: (res?: any) => void; }): void; } export {};