import { type SigningIdentity } from '@kokuin/token'; import type { StoreProvider } from '@kubun/db'; import { HLC } from '@kubun/hlc'; import type { MutationOperations } from '@kubun/mutation'; import type { DocumentNode } from '@kubun/protocol'; import type { AccessDefaultEvent, ApplyVerifiedMutationResult } from './engine-types.js'; /** * Build the signed mutation operations exposed to a `mutateGraph` execution as * `contextExtensions`. Shared by the transactional and non-transactional * paths: `ops` and `provider` determine the transaction boundary (an ambient * write transaction, or per-op autocommit), while `onAccessDefault` decides * when access-default replication events fire (deferred to post-commit, or * immediately). The signing identity and authorization are identical on both * paths — only the transaction differs. */ export declare function buildGraphMutationContextExtensions(params: { hlc: HLC; ops: MutationOperations; applySetWithOutcome: MutationOperations['setDocument']; applyTombstoneWithOutcome: MutationOperations['tombstoneDocument']; provider: StoreProvider; signingIdentity: SigningIdentity; accessDefaultOwner?: () => Promise; /** Whether the signer holds a `document/share` delegation from `owner` covering the model. */ mayActForAccessDefault: (params: { owner: string; modelID: string; }) => Promise; recordAccessDefault?: (event: AccessDefaultEvent) => Promise; onAccessDefault: (event: AccessDefaultEvent) => void | Promise; }): Record;