#!/usr/bin/env npx tsx import type { OrderResponse, CancelResponse, OpenOrder } from '../core/types.js'; import { type FillWatcher } from './execution.js'; export interface ChaseOptions { coin: string; side: 'buy' | 'sell'; size: number; offsetBps?: number; timeoutSec?: number; intervalMs?: number; maxChaseBps?: number; leverage?: number; reduceOnly?: boolean; dryRun?: boolean; verbose?: boolean; client?: ChaseClient; fillWatcher?: FillWatcher; /** Receives each output line. Defaults to console.log. */ output?: (line: string) => void; } export interface ChaseClient { verbose: boolean; address: string; getAllMids(): Promise>; getOpenOrders(): Promise; getUserFills(user?: string): Promise>; limitOrder(coin: string, isBuy: boolean, size: number, price: number, tif?: 'Gtc' | 'Ioc' | 'Alo', reduceOnly?: boolean, leverage?: number): Promise; cancel(coin: string, oid: number, opts?: { fast?: boolean; }): Promise; } export interface ChaseResult { status: 'dry' | 'filled' | 'timeout' | 'max_chase_exceeded' | 'min_notional'; iterations: number; durationSec: number; startMid: number; endMid: number; } export declare function runChase(opts: ChaseOptions): Promise; //# sourceMappingURL=chase.d.ts.map