/**
 * @module SharedLock
 */
import { type IEventDispatcher } from "../../../../event-bus/contracts/event-bus.contract.js";
import { type Middleware } from "../../../../middleware/contracts/_module.js";
import { type ISharedLock, type SharedLockEventMap } from "../../../../shared-lock/contracts/_module.js";
import { type WaitUntil } from "../../../../utilities/_module.js";
/**
 * @internal
 */
export declare function handleUnexpectedError<TReturn>(waitUntil: WaitUntil, eventDispatcher: IEventDispatcher, sharedLock: ISharedLock): Middleware<[], Promise<TReturn>>;
/**
 * @internal
 */
export declare function handleDispatch<TEventName extends keyof SharedLockEventMap, TEvent extends SharedLockEventMap[TEventName]>(settings: {
    on: "true" | "false";
    eventName: TEventName;
    eventData: TEvent;
    waitUntil: WaitUntil;
    eventDispatcher: IEventDispatcher;
}): Middleware<[], Promise<boolean>>;
