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>;
}