/// <reference types="jest" />
/// <reference types="node" />
import { EffectBuilder } from '../../effect_builder';
import { SagaRunner } from '../../saga_runner';
export declare function runnerUtilityFactory(): Promise<{
    transactionId: string;
    effectBuilder: EffectBuilder;
    spy: {
        consumer: (methodName: "streamActionsFromTopic" | "disconnectConsumers" | "startTransaction" | "stopTransaction" | "registerTopicObserver") => jest.SpyInstance<void | Promise<void>, [] | [string] | [{
            transactionId: string;
            topic: string;
            observer: import("../..").ActionObserver<import("../..").IAction<import("../..").DefaultPayload>>;
        }] | [string]>;
        producer: (methodName: "putAction" | "connect" | "disconnect") => jest.SpyInstance<Promise<void>, [] | [import("../..").IAction<import("../..").DefaultPayload>, ({
            useTransactionIdAsKey?: boolean | undefined;
        } | undefined)?]>;
    };
    runner: SagaRunner<unknown, import("../..").IBaseSagaContext>;
    context: {
        effects: EffectBuilder;
        headers: {};
        originalMessage: {
            key: Buffer;
            value: Buffer;
            offset: string;
            partition: number;
            timestamp: string;
        };
    };
    closePools(): Promise<void>;
}>;
