/** Canonical hook event name constants. Use these instead of string literals. */ export declare const HOOK_EVENT: { readonly ON_SIGNAL_DETECTED: "on_signal_detected"; readonly ON_OPEN_ORDER_SUBMITTED: "on_open_order_submitted"; readonly ON_POSITION_OPENED: "on_position_opened"; readonly ON_POSITION_CLOSED: "on_position_closed"; readonly ON_POSITION_FLIPPED: "on_position_flipped"; readonly ON_POSITION_INCREASED: "on_position_increased"; readonly ON_POSITION_DECREASED: "on_position_decreased"; readonly ON_TIER_CHANGED: "on_tier_changed"; readonly ON_DAILY_LIMIT_HIT: "on_daily_limit_hit"; readonly ON_DRAWDOWN_CAP_HIT: "on_drawdown_cap_hit"; readonly ON_STRATEGY_SELF_PAUSED: "on_strategy_self_paused"; readonly ON_CONSECUTIVE_LOSSES: "on_consecutive_losses"; readonly ON_POSITION_AT_RISK: "on_position_at_risk"; readonly ON_SCHEDULE: "on_schedule"; }; export type HookEventType = (typeof HOOK_EVENT)[keyof typeof HOOK_EVENT] | string; /** Strategy identifier in events is the wallet address (platform id). */ export interface HookEvent { type: HookEventType; runtimeName: string; address: string; data: Record; timestamp: string; } export interface HookSystem { fire(event: HookEvent): Promise; on(eventType: HookEventType, handler: (event: HookEvent) => Promise): void; } //# sourceMappingURL=hooks.d.ts.map