type SnapshotId = number | string; export type PendingHostCallResumeIdentity = { argumentDigest: string; callId: string; moduleId: string; operation: string; sourceHash: string; }; export type PendingHostCallDescriptor = { id: SnapshotId; moduleId?: string; operation?: string; }; export type PendingHostCallSideEffectTag = { kind: "host-call-side-effect"; callId: string; moduleId: string; operation: string; }; export type PendingHostCallIssuePolicy = { kind: "re-issue"; } | { kind: "read-side-effect"; sideEffectTag: PendingHostCallSideEffectTag; }; export type PendingHostCallResumePolicy = PendingHostCallIssuePolicy; export type PendingHostCallPolicyMode = PendingHostCallIssuePolicy["kind"]; export type PendingHostCallPolicyRegistration = { moduleId: string; operation: string; policy: PendingHostCallPolicyMode; }; export declare class HostOperationResumePolicyError extends Error { readonly moduleId: string; readonly operation: string; constructor(moduleId: string, operation: string); } export declare function registerPendingHostCallPolicy(registration: PendingHostCallPolicyRegistration): void; export declare function resolvePendingHostCallIssuePolicy(call: PendingHostCallDescriptor): PendingHostCallIssuePolicy; export declare function tagPendingHostCallAtIssue(call: TCall): TCall & { sideEffectTag?: PendingHostCallSideEffectTag; }; export declare function resolvePendingHostCallResumePolicy(call: PendingHostCallDescriptor & { sideEffectTag?: PendingHostCallSideEffectTag; }): PendingHostCallResumePolicy; export declare function createPendingHostCallSideEffectTag(call: PendingHostCallDescriptor): PendingHostCallSideEffectTag; export declare function pendingHostCallResumeIdentityMatches(expected: PendingHostCallResumeIdentity, actual: PendingHostCallResumeIdentity): boolean; export {};