import type { HsonData } from "../data/hson-data.js"; import type { LocusActionDedupeDiagnostics, LocusActionDedupeOptions, LocusActionDelivery, LocusActionRequestErrorCode, LocusActionRequestId, LocusActionStatusState, LocusActionTerminalOutcome, LocusDisposer, LocusClientId } from "../../types/locus.types.js"; type ClientIdentity = LocusClientId; export type LocusActionExecuteRequest = Readonly<{ clientId: ClientIdentity; requestId: LocusActionRequestId; ownerPrincipalId: string | undefined; actionName: string; payload: HsonData | undefined; retry: boolean; sourceTraceId?: string; acquireExecutionActivity?: () => LocusDisposer; run: () => Promise; }>; export type LocusActionExecuteResult = Readonly<{ ok: true; outcome: LocusActionTerminalOutcome; delivery: Exclude; sourceTraceId?: string; }> | Readonly<{ ok: false; code: LocusActionRequestErrorCode | "LOCUS_SESSION_CREDENTIAL_UNKNOWN"; message: string; }>; export type LocusActionStatusResult = Readonly<{ ok: true; state: LocusActionStatusState; outcome?: LocusActionTerminalOutcome; }> | Readonly<{ ok: false; code: "LOCUS_SESSION_CREDENTIAL_UNKNOWN"; message: string; }>; export type LocusActionDedupeStore = Readonly<{ execute: (request: LocusActionExecuteRequest) => Promise; status: (clientId: ClientIdentity, requestId: LocusActionRequestId, ownerPrincipalId: string | undefined) => LocusActionStatusResult; debug: () => LocusActionDedupeDiagnostics; dispose: LocusDisposer; }>; export declare function make_locus_action_dedupe_store(headRev: () => number, currentSeq: () => number, options?: LocusActionDedupeOptions): LocusActionDedupeStore; export {}; //# sourceMappingURL=locus.actions.d.ts.map