export interface RhCall { from: string; to: string; data: string; value?: string; gas?: string; } export interface ContextRequest { address: string; tokens?: string; counterAsset?: string; transaction?: RhCall; } export interface Observation { kind: string; id: string; observedAt: string; block?: string; } export interface DecisionContext { id: string; kind: 'decision_context'; version: string; network: 'robinhood-mainnet'; chainId: 4663; observedAt: string; decision: 'review' | 'block'; reasons: string[]; request: { chainId: 4663; address: string; tokens: string; counterAsset: string | null; transaction: RhCall | null }; requestSha256: string; asset: Record; instruments: Array<{role: 'asset' | 'counter_asset'; report: Record}>; simulation: Record | null; observations: Observation[]; integration: {policy: 'rh-context-1'; automaticClearance: false; signing: false; broadcast: false}; limitations: string[]; } export class HunchError extends Error { status?: number; report?: unknown; } export class HunchClient { constructor(options?: {baseUrl?: string; profile?: 'conservative' | 'standard'; timeoutMs?: number}); getDecisionContext(request: ContextRequest): Promise; inspectToken(address: string): Promise>; inspectInstrument(address: string, tokens?: string): Promise>; inspectText(text: string): Promise>; assessAction(action: {address: string; amountUsd: number; slippageBps: number; text?: string}): Promise>; simulateTransaction(transaction: RhCall): Promise>; requireWithinProfile(action: {address: string; amountUsd: number; slippageBps: number; text?: string}): Promise>; }