import { DurableEventData } from "../../data";
type EventLike = DurableEventData | Iterable<DurableEventData>;
type AsyncEventLike = EventLike | Promise<EventLike> | AsyncIterable<EventLike>;
export interface VirtualEventFn {
    (): AsyncEventLike | void | Promise<void>;
}
export type VirtualEventSource = VirtualEventFn | VirtualEventFn[] | Record<string, VirtualEventFn>;
export interface VirtualEventConfig {
    events?: VirtualEventSource;
}
export declare const VIRTUAL_FUNCTIONS: Set<VirtualEventFn>;
export declare function virtual(fn: VirtualEventFn): () => void;
export declare function createVirtualFunction(fn: VirtualEventFn): () => void;
export declare function generateVirtualEvents(): AsyncGenerator<DurableEventData[], void, unknown>;
export {};
