import type { HyperliquidClient } from '../core/client.js'; import { WebSocketManager } from '../core/ws.js'; export interface FillSummary { size: number; notional: number; avgPrice?: number; } export interface FillWatcher { start(): Promise; stop(): Promise; getFilled(oid: number): FillSummary; waitForFill(oid: number, targetSize: number, timeoutMs: number, options?: { coin?: string; pollMs?: number; }): Promise; } type RestFill = { coin: string; px: string; sz: string; time: number; oid: number; }; type FillClient = Pick & { getUserFills(user?: string): Promise; }; export declare class UserFillWatcher implements FillWatcher { private readonly client; private fills; private seenFills; private ws; private ownsWs; private started; private readonly sinceMs; private readonly user; private readonly onFill; constructor(client: FillClient, options?: { ws?: WebSocketManager | null; sinceMs?: number; user?: string; }); start(): Promise; stop(): Promise; getFilled(oid: number): FillSummary; waitForFill(oid: number, targetSize: number, timeoutMs: number, options?: { coin?: string; pollMs?: number; }): Promise; private refreshRestFills; private recordFill; } export {}; //# sourceMappingURL=execution.d.ts.map