#!/usr/bin/env npx tsx import type { CancelResponse, OrderResponse } from '../core/types.js'; export interface OrderLevel { level: number; price: number; size: number; distanceFromMid: number; } export interface ScaleClient { verbose: boolean; getAllMids(): Promise>; bulkOrder(orders: Array<{ coin: string; isBuy: boolean; size: number; price: number; tif?: 'Gtc' | 'Alo'; reduceOnly?: boolean; leverage?: number; }>): Promise; bulkCancel(cancels: Array<{ coin: string; oid: number; }>): Promise; } export interface ScaleOptions { coin: string; side: 'buy' | 'sell'; size: number; levels: number; rangePct: number; distribution?: 'linear' | 'exponential' | 'flat'; leverage?: number; reduceOnly?: boolean; tif?: 'Gtc' | 'Alo'; dryRun?: boolean; verbose?: boolean; rollbackOnPartial?: boolean; client?: ScaleClient; output?: (line: string) => void; } export interface ScaleResult { status: 'dry' | 'complete' | 'partial' | 'failed'; levels: OrderLevel[]; restingOids: number[]; filledOids: number[]; errors: string[]; rolledBack: boolean; } export declare function calculateLevels(midPrice: number, isBuy: boolean, totalSize: number, numLevels: number, rangePct: number, distribution: 'linear' | 'exponential' | 'flat'): OrderLevel[]; export declare function runScale(opts: ScaleOptions): Promise; //# sourceMappingURL=scale.d.ts.map