import type { EmptyObject } from './BaseTypes';
import type { AbortableEffectFactory } from './effects/AbortableEffect';
import type { LoggerEffectFactory } from './effects/LoggerEffect';
import type { LoopEffectFactory } from './effects/LoopEffect';
import type { TimeoutEffectFactory } from './effects/TimeoutEffect';
import type { ExecutionContext } from './execution-context/ExecutionContext';
import type { ContextUsing } from './execution-context/Types';
export type BaseContext = ContextUsing<[
    typeof LoopEffectFactory,
    typeof TimeoutEffectFactory,
    typeof AbortableEffectFactory,
    ReturnType<typeof LoggerEffectFactory>
], ExecutionContext<EmptyObject, EmptyObject>>;
