import { type Static } from "@sinclair/typebox"; import { MarketRegime } from "../artifacts.js"; import type { Candle } from "../types.js"; declare const marketRegimeConfigSchema: import("@sinclair/typebox").TObject<{ btcWeight: import("@sinclair/typebox").TOptional; ethWeight: import("@sinclair/typebox").TOptional; emaFast: import("@sinclair/typebox").TOptional; emaSlow: import("@sinclair/typebox").TOptional; neutralThreshold: import("@sinclair/typebox").TOptional; assets: import("@sinclair/typebox").TOptional>; }>; export type MarketRegimeConfig = Static; export interface MarketRegimeState { lastRegime: MarketRegime; lastUpdated: number; } /** * Analyzes one asset's candle data to produce a directional bias and confidence. * * Checks: * 1. EMA crossover direction (fast EMA vs slow EMA) * 2. Price position relative to slow EMA * 3. Higher-highs / lower-lows pattern detection * 4. Recent candle momentum (last 3 candles) * * Returns a score in [-1, 1] where positive = bullish, negative = bearish. */ export declare function analyzeAssetBias(candles: Candle[], emaFast: number, emaSlow: number): { bias: MarketRegime; score: number; }; /** * Creates the market-regime scanner. * * Analyzes BTC and ETH candle data across the 1h timeframe to classify the * macro market environment as BULLISH, BEARISH, or NEUTRAL. Publishes the * result as a `market-regime` shared artifact for downstream scanners and * actions to consume. * * This scanner produces no trading signals — it only publishes shared * market intelligence. */ export declare function marketRegimeScanner(): import("../index.js").Scanner<{ assets?: string[] | undefined; btcWeight?: number | undefined; ethWeight?: number | undefined; emaFast?: number | undefined; emaSlow?: number | undefined; neutralThreshold?: number | undefined; }, MarketRegimeState>; export {}; //# sourceMappingURL=market-regime.d.ts.map