import { type Budget } from "./budget.js"; import type { PendingHostCallPolicyMode } from "../snapshot/policy.js"; import { type HostCallJournal } from "./host-call.js"; import { type SandboxValue } from "./values.js"; import type { RunLifecycle } from "../snapshot/dump.js"; type CallerInjectedFunction = { bivarianceHack(...args: readonly unknown[]): unknown; }["bivarianceHack"]; type HostBridgeOptions = { budget: Budget; hostCalls?: HostCallJournal; moduleId?: string; signal?: AbortSignal; lifecycle?: RunLifecycle; }; export type CallerInjectedBinding = SandboxValue | CallerInjectedFunction | readonly CallerInjectedBinding[] | { readonly [key: string]: CallerInjectedBinding; }; export declare function declareHostOperation(operation: TFunction, policy: PendingHostCallPolicyMode): TFunction; export declare function readHostOperationPolicy(operation: CallerInjectedFunction): PendingHostCallPolicyMode | undefined; export declare function wrapCallerInjectedBindings(bindings: Record, options: HostBridgeOptions): Record; export {};