import type { EndpointFact, OutboundOperationFact } from "../../../core/domain/facts/fact.js"; export type DraftEndpointFact = Omit; export type FinalizeRequest = { readonly drafts: readonly DraftEndpointFact[]; readonly schemaVersion: string; readonly repositoryIdentity: string; }; /** * Groups drafts by semantic core, applies the inbound merge table, assigns the * identity of each surviving fact and orders the result by that identity. */ export declare function finalizeEndpointFacts(request: FinalizeRequest): readonly EndpointFact[]; export type DraftOutbound = Omit; export type FinalizeOutboundRequest = { readonly drafts: readonly DraftOutbound[]; readonly schemaVersion: string; readonly repositoryIdentity: string; }; /** * Two call sites of one operation are two facts, so an outbound core never * merges: this assigns identity and the total order the artifact is written in. */ export declare function finalizeOutboundFacts(request: FinalizeOutboundRequest): readonly OutboundOperationFact[];