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[];
}
