import type { DIDMethodResolver } from '@kokuin/token'; import { type MutationApplyResult } from '@kubun/mutation'; import type { DocumentMutation, DocumentNode } from '@kubun/protocol'; import type { GraphStoreAPI } from '@kubun/store-graph'; export type ObservedWinnerSelection = { document: DocumentNode; digest: string; token: string; present: boolean; fields: ReadonlyArray; }; export type ObservationRepair = { documentID: string; owner: string; fetchHLC: string; decisionHLC: string; present: boolean; valueDigest: string | null; }; export type ObservationVerificationMethods = ReadonlyArray; export type ObservationRepairStore = { getObservationRepair(documentID: string): Promise; getObservationRecordDecision(key: { type: string; owner: string; id: string; }, methods?: ObservationVerificationMethods): Promise<{ decisionHLC: string; } | null>; putObservationRepair(repair: ObservationRepair): Promise; clearObservationRepair(documentID: string): Promise; }; export declare function reconcileObservationRepair(params: { graph: GraphStoreAPI; connector: ObservationRepairStore; document: DocumentNode; methods?: ObservationVerificationMethods; }): Promise; export type ReselectedMutationParams = { previous: DocumentNode | null; mutation: DocumentMutation; applied: MutationApplyResult; selection: ObservedWinnerSelection | null; }; export declare function reselectedMutationResult(params: ReselectedMutationParams): MutationApplyResult; export declare function reselectObservedProviderWinner(graph: GraphStoreAPI, documentID: string): Promise;