export interface IFlowContextData {
    traceId: string;
    flowId: string;
    userId?: string;
    attributes?: Record<string, unknown>;
}
/**
 * Immutable context for an ad-hoc flow / query.
 * It is orthogonal to the bus; you can embed it in payloads if you want
 * propagation, but nothing in the kernel depends on it.
 */
export declare class FlowContext {
    readonly traceId: string;
    readonly flowId: string;
    readonly userId?: string;
    readonly attributes: Record<string, unknown>;
    constructor(data: IFlowContextData);
    withAttributes(extra: Record<string, unknown>): FlowContext;
}
/**
 * Helper to create a new FlowContext, generating IDs when needed.
 */
export declare function createFlowContext(seed?: Partial<IFlowContextData>): FlowContext;
//# sourceMappingURL=FlowContext.d.ts.map