import { Saga } from "redux-saga"; import { Effect } from "@redux-saga/types"; export interface MonitoredEffect { effectId: number; parentEffectId?: number; name?: string; description?: string; saga?: Saga; root?: boolean; args?: any[]; status: string; start?: number; end?: number; duration?: number; error?: any; label?: string; winner?: boolean; result?: any; effect?: Effect; } export default class EffectManager { rootIds: number[]; map: { [id: number]: MonitoredEffect; }; childIdsMap: { [id: number]: number[]; }; constructor(); get(effectId: number): MonitoredEffect; set(effectId: number, desc: MonitoredEffect): void; setRootEffect(effectId: number, desc: MonitoredEffect): void; getRootIds(): number[]; getChildIds(parentEffectId: number): number[]; }