import type { VerificationResult, ProviderConfig, VerificationMode, CriticMode, DomainProfile, OutputFormat, ReceptiveMode, FailureCost, Audience } from './types.js'; import type { DomainLockfile } from './domains.js'; interface VerifyParams { /** @deprecated Use `mode` instead. Kept for backward compat. */ tier?: 'basic' | 'pro'; /** * v0.3+: Verification mode. * - basic: 1 generator + 1 critic, <30s * - standard: 3+ generators + 1 critic, 1 round, 1-3 min * - deep: 3+ generators + 1 critic, 2 rounds, 5-15 min * Takes precedence over `tier`. If omitted, falls back to `tier`. */ mode?: VerificationMode; /** * v0.2+: Full provider list. SDK assigns roles automatically. */ providers?: ProviderConfig[] | { generators?: string[]; critic?: string; synthesizer?: string; }; /** v0.1 legacy: API keys by provider name. */ apiKeys?: Record; /** @deprecated Use `claim` instead. */ question?: string; /** v0.3+: The claim or content to verify. Alias for `question`. */ claim?: string; output?: string; language?: 'en' | 'de'; debug?: boolean; /** * Enable WASM sandbox check (Layer 4). Requires `pot-sandbox` to be installed. */ sandbox?: boolean; /** * v0.4+: Controls how the critic evaluates proposals. * - adversarial: "Find every flaw" — explicit red-team, highest dissent surfacing * - resistant: "Verify evidence exists" — skeptical prior, fewer false positives * - balanced: Adversarial on facts, resistant on logic (default) * * If omitted, defaults to 'adversarial' (backward compatible with v0.3 behavior). */ criticMode?: CriticMode; /** v0.5+: Domain profile — auto-configures criticMode, requireCitation, classifyObjections, receptiveMode, maxConfidence */ domain?: DomainProfile; /** v0.5+: Require critic to cite exact text for every objection (~40% fewer false positives) */ requireCitation?: boolean; /** v0.5+: Classify each objection by type and severity */ classifyObjections?: boolean; /** v0.5+: Output format for downstream consumers */ outputFormat?: OutputFormat; /** v0.5+: How the synthesizer receives critique */ receptiveMode?: ReceptiveMode; /** v0.5.1+: Domain lockfile — enforces minimum domain severity. Ratchet, not slider. (inspired by @evil_robot_jas) */ domainLockfile?: DomainLockfile; /** v0.6+: Explicit cost-of-being-wrong. Adjusts verdict thresholds. Credit: @evil_robot_jas */ failureCost?: FailureCost; /** v0.6+: Auto fact-check the critic using a different provider. Credit: ThoughtProof ibuprofen benchmark */ multiRound?: boolean; /** v0.6+: Require synthesizer to explain WHY each claim is verified/unverified */ requireExplanation?: boolean; /** v0.6+: Auto-correct toxic combinations instead of just warning */ autoCorrectToxic?: boolean; /** * v0.6.1+: Audience-aware output formatting. * - 'human' (default): Full synthesis, all objections, dissent, reasoning chain. * - 'pipeline': Minimal actionable signal — verdict, confidence, flags, top objection. * Credit: Moltbook "Not all friction" discussion — @carbondialogue et al. */ audience?: Audience; /** * v0.6.3+: LLM-based injection guard (Anthropic Sectioning pattern). * Runs a separate cheap LLM call BEFORE verification to detect prompt injection. * Set to false to disable. Defaults to true when providers are configured. * Credit: Anthropic "Building Effective Agents" — Parallelization/Sectioning */ guard?: boolean; } export declare function verify(output: string, params: VerifyParams): Promise; export {}; //# sourceMappingURL=verify.d.ts.map