import ArvoEventFactory from '.'; import type { VersionedArvoContract } from '../ArvoContract/VersionedArvoContract'; import { ArvoOrchestratorEventFactory } from './Orchestrator'; /** * Creates an ArvoEventFactory for a specific version of a contract. * * @param contract - The versioned contract to create a factory for * @returns An ArvoEventFactory instance for the specified contract version * * @example * ```typescript * const contract = createArvoContract({...}); * const v1Contract = contract.version('1.0.0'); * const factory = createArvoEventFactory(v1Contract); * ``` */ export declare const createArvoEventFactory: >(contract: TContract) => ArvoEventFactory; /** * Creates an ArvoOrchestratorEventFactory instance for handling orchestration events. * Provides type-safe event creation with parent-child subject relationship handling. * * @param contract - The versioned contract for orchestration events * @returns An ArvoOrchestratorEventFactory for creating orchestration events * * @example * ```typescript * const contract = createArvoOrchestratorContract({ ... }); * const factory = createArvoOrchestratorEventFactory(contract.version('1.0.0')); * const event = factory.init({ * source: 'system', * data: { parentSubject$$: null, data: 'value' } * }); * ``` */ export declare const createArvoOrchestratorEventFactory: >(contract: TContract) => ArvoOrchestratorEventFactory;