import { ControllerBase } from './controller'; import { Job, JobSource } from './job'; import maa from './maa'; import { ResourceBase } from './resource'; type TaskDetail = ReturnType; declare class TaskJob extends Job> { #private; constructor(tasker: TaskerBase, source: JobSource, id: maa.TaskId); get(): { entry: string; nodes: ({ name: string; reco: { name: string; algorithm: string; hit: boolean; box: maa.Rect; detail: string; raw: ArrayBuffer; draws: ArrayBuffer[]; } | null; completed: boolean; } | null)[]; status: maa.Status; } | null; wait(): Promise & { get: () => Promise; status: Promise; done: Promise; success: Promise; failed: Promise; }; } export type TaskerNotify = { task_id: maa.TaskId; entry: string; hash: string; uuid: string; } & ({ msg: 'Task.Started' | 'Task.Completed' | 'Task.Failed'; } | { msg: 'Debug.RecognitionResult' | 'Debug.Hit'; current: string; recognition: { reco_id: maa.RecoId; name: string; /** * Won't be `null` for msg `Debug.Hit` */ box: maa.FlatRect | null; detail: string; }; } | { msg: 'Focus.ReadyToRun' | 'Focus.Completed' | 'Debug.ReadyToRun' | 'Debug.Completed'; current: string; node: { node_id: maa.NodeId; name: string; reco_id: maa.RecoId; times: number; completed: boolean; }; } | { msg: 'Debug.ListToRecognize' | 'Debug.MissAll'; current: string; list: string[]; }); export declare class TaskerBase { #private; handle: maa.TaskerHandle; notify(message: string, details_json: string): maa.MaybePromise; set parsed_notify(cb: (msg: TaskerNotify) => maa.MaybePromise); constructor(handle: maa.TaskerHandle); destroy(): void; bind(slave: ControllerBase | ResourceBase): void; post_pipeline(entry: string, param?: Record): TaskJob; get inited(): boolean; get running(): boolean; post_stop(): void; get resource(): ResourceBase | null; get controller(): ControllerBase | null; clear_cache(): void; recognition_detail(id: maa.RecoId): { name: string; algorithm: string; hit: boolean; box: maa.Rect; detail: string; raw: ArrayBuffer; draws: ArrayBuffer[]; } | null; node_detail(id: maa.NodeId): { name: string; reco: { name: string; algorithm: string; hit: boolean; box: maa.Rect; detail: string; raw: ArrayBuffer; draws: ArrayBuffer[]; } | null; completed: boolean; } | null; task_detail(id: maa.TaskId): { entry: string; nodes: ({ name: string; reco: { name: string; algorithm: string; hit: boolean; box: maa.Rect; detail: string; raw: ArrayBuffer; draws: ArrayBuffer[]; } | null; completed: boolean; } | null)[]; status: maa.Status; } | null; } export declare class Tasker extends TaskerBase { constructor(); } export {};