import type { VerdictView } from './verdict.js'; /** Compute the action's IPFS CID locally — same algorithm Lit uses (CIDv0 Qm…). */ export declare function computeIpfsCidLocal(sourceCode: string): Promise; export interface LocalDryRunResult { cid?: string; intent: { verb: string; initiator: { class: string; }; }; verdict: VerdictView; notionalUsd: number | null; modeled: { spend: boolean; installBounds: boolean; screening: boolean; }; note: string; } export interface LocalDryRunInput { /** The action source — included only to compute the CID (the action identity). */ sourceCode?: string; /** The capability manifest (object or JSON string) — parsed by the shared parser. */ manifest: unknown; /** Candidate params to judge. */ params?: Record; /** Verb to simulate; defaults to the manifest's highest-risk declared verb. */ verb?: string; /** The PolicyDoc to judge against (the CLI builds a default when --policy is absent). */ policy: unknown; } /** * Run the dry-run gate in-process. PURE: nothing executes, nothing signs, no * network. Throws on an invalid manifest / unevaluable inputs — the caller maps * those to a CLI error, exactly as the server returns a 400. * * The note is byte-identical to the server route's so the honesty caveat reads the * same in the terminal as in the UI. */ export declare function runLocalDryRun(input: LocalDryRunInput): Promise;