/** * MT5 domain constants. * * `MT5_SERVER_NAME` is the wire-format MT5 server name used to construct * WS topics (`symbol::`, `mt5:events::`) and * REST filters. The server name is resolved at runtime from the CMS * (`Mt5Server` catalog + `setting.public.markets` → `defaultServer`, e.g. * `live`); this constant is only the FE last-resort fallback for clients * that don't override. A server-segment mismatch in any topic receives * ZERO events [ws§6.2] — prefer the CMS-derived value over this constant. */ export declare const MT5_SERVER_NAME = "live"; export type MT5ServerName = typeof MT5_SERVER_NAME; /** Chart interval enum from BE §4.6 (Mt5ChartBar.data.interval). */ export declare const MT5_INTERVAL: { readonly M1: "M1"; readonly M5: "M5"; readonly M15: "M15"; readonly M30: "M30"; readonly H1: "H1"; readonly H4: "H4"; readonly D1: "D1"; readonly W1: "W1"; readonly MN1: "MN1"; }; export type MT5Interval = (typeof MT5_INTERVAL)[keyof typeof MT5_INTERVAL]; /** `MT5Account.data.status` lifecycle enum from BE §4.2. */ export declare const MT5_ACCOUNT_STATUS: { readonly ACTIVE: "active"; readonly DISABLED: "disabled"; readonly CLOSED: "closed"; }; export type MT5AccountStatus = (typeof MT5_ACCOUNT_STATUS)[keyof typeof MT5_ACCOUNT_STATUS]; /** MT5 `order_type` int code → human string. From ws-guide §9.5. */ export declare const MT5_ORDER_TYPE: { readonly BUY: 0; readonly SELL: 1; readonly BUY_LIMIT: 2; readonly SELL_LIMIT: 3; readonly BUY_STOP: 4; readonly SELL_STOP: 5; readonly BUY_STOP_LIMIT: 6; readonly SELL_STOP_LIMIT: 7; }; export type MT5OrderTypeCode = (typeof MT5_ORDER_TYPE)[keyof typeof MT5_ORDER_TYPE]; /** `IMTConCommTier::EnCommissionMode` — commission charge unit. */ export declare const MT5_COMMISSION_MODE: { readonly MONEY_DEPOSIT: 0; readonly MONEY_SYMBOL_BASE: 1; readonly MONEY_SYMBOL_PROFIT: 2; readonly MONEY_SYMBOL_MARGIN: 3; readonly PIPS: 4; readonly PERCENT: 5; readonly MONEY_SPECIFIED: 6; readonly PERCENT_PROFIT: 7; }; export type MT5CommissionMode = (typeof MT5_COMMISSION_MODE)[keyof typeof MT5_COMMISSION_MODE]; /** `IMTConCommTier::EnCommissionVolumeType` — commission volume basis. */ export declare const MT5_COMMISSION_VOLUME_TYPE: { readonly DEAL: 0; readonly VOLUME: 1; }; export type MT5CommissionVolumeType = (typeof MT5_COMMISSION_VOLUME_TYPE)[keyof typeof MT5_COMMISSION_VOLUME_TYPE]; /** MT5 `state` int code → human string. From ws-guide §9.5. */ export declare const MT5_ORDER_STATE: { readonly STARTED: 0; readonly PLACED: 1; readonly CANCELED: 2; readonly PARTIAL: 3; readonly FILLED: 4; readonly REJECTED: 5; readonly EXPIRED: 6; readonly REQUEST_ADD: 7; readonly REQUEST_MODIFY: 8; readonly REQUEST_CANCEL: 9; }; export type MT5OrderStateCode = (typeof MT5_ORDER_STATE)[keyof typeof MT5_ORDER_STATE]; /** * Wire-decoded MT5 order-state STRINGS (`state_str`). * * The numeric `MT5_ORDER_STATE` codes are the broker-side representation; * the BE decodes them into these string labels and ships them on the wire * (see `Mt5OrderHistoryData.status` and the WS `state_str` field on order * events). Distinct from `HISTORY_ORDER_STATUS` which is the *terminal* * subset the history endpoint surfaces (and uses UK-spelled `CANCELLED`). */ export declare const MT5_ORDER_STATE_NAME: { readonly STARTED: "STARTED"; readonly PLACED: "PLACED"; readonly CANCELED: "CANCELED"; readonly PARTIAL: "PARTIAL"; readonly FILLED: "FILLED"; readonly REJECTED: "REJECTED"; readonly EXPIRED: "EXPIRED"; readonly REQUEST_ADD: "REQUEST_ADD"; readonly REQUEST_MODIFY: "REQUEST_MODIFY"; readonly REQUEST_CANCEL: "REQUEST_CANCEL"; }; export type MT5OrderStateName = (typeof MT5_ORDER_STATE_NAME)[keyof typeof MT5_ORDER_STATE_NAME]; /** * Escape hatch for the WS `state_str` decoder path: the broker can in * principle ship an unknown label, so consumers comparing against * `stateStr` should widen to `MT5OrderStateNameOrUnknown` rather than the * strict union. */ export type MT5OrderStateNameOrUnknown = MT5OrderStateName | (string & {}); /** * Normalized order-kind categories used in CMS DTOs (`Mt5OrderHistoryData.type`, * `OrderHistoryItem.type`, trading-mock stores). Distinct from the numeric * `MT5_ORDER_TYPE` codes — these are the FE-facing names the CMS * decodes to. */ export declare const MT5_ORDER_KIND: { readonly MARKET: "MARKET"; readonly LIMIT: "LIMIT"; readonly STOP: "STOP"; readonly STOP_LIMIT: "STOP_LIMIT"; }; export type MT5OrderKind = (typeof MT5_ORDER_KIND)[keyof typeof MT5_ORDER_KIND]; /** * Order time-in-force / duration (`Mt5OrderHistoryData.duration`, action * `place_order.duration`). FE-facing labels — distinct from any numeric * broker codes. */ export declare const MT5_ORDER_DURATION: { readonly DAY: "DAY"; readonly GTC: "GTC"; readonly SPECIFIED: "SPECIFIED"; readonly SPECIFIED_DAY: "SPECIFIED_DAY"; }; export type MT5OrderDuration = (typeof MT5_ORDER_DURATION)[keyof typeof MT5_ORDER_DURATION]; /** * Domain-neutral trade side (`BUY` / `SELL`). Distinct from * `MT5_POSITION_TYPE` (which has the same values but is position-scoped * in its name) — `MT5_TRADE_SIDE` is for order `side`, deal `action`, * and tick `side` fields that all carry the same two-value vocabulary. */ export declare const MT5_TRADE_SIDE: { readonly BUY: "BUY"; readonly SELL: "SELL"; }; export type MT5TradeSide = (typeof MT5_TRADE_SIDE)[keyof typeof MT5_TRADE_SIDE]; /** Position-type enum (`BUY` / `SELL`). From BE ws-guide appendix A.3. */ export declare const MT5_POSITION_TYPE: { readonly BUY: "BUY"; readonly SELL: "SELL"; }; export type MT5PositionType = MT5TradeSide; /** Deal-entry enum (`IN` / `OUT` / `INOUT` / `OUT_BY`). From BE ws-guide appendix A.4. */ export declare const MT5_DEAL_ENTRY: { readonly IN: "IN"; readonly OUT: "OUT"; readonly INOUT: "INOUT"; readonly OUT_BY: "OUT_BY"; }; export type MT5DealEntry = (typeof MT5_DEAL_ENTRY)[keyof typeof MT5_DEAL_ENTRY]; /** `Mt5Symbol.data.trade_mode` enum. From BE §4.3. */ export declare const MT5_TRADE_MODE: { readonly FULL: "full"; readonly LONG_ONLY: "long_only"; readonly SHORT_ONLY: "short_only"; readonly CLOSE_ONLY: "close_only"; readonly DISABLED: "disabled"; }; export type MT5TradeMode = (typeof MT5_TRADE_MODE)[keyof typeof MT5_TRADE_MODE]; /** `Mt5Symbol.data.market_status` enum. From BE §4.3. */ export declare const MT5_MARKET_STATUS: { readonly ACTIVE: "active"; readonly MARKET_CLOSED: "market-closed"; readonly EXPIRED: "expired"; readonly NOT_TRADABLE_YET: "not-tradable-yet"; }; export type MT5MarketStatus = (typeof MT5_MARKET_STATUS)[keyof typeof MT5_MARKET_STATUS]; /** `Mt5Symbol.data.execution_mode` enum. From BE §4.3. */ export declare const MT5_EXECUTION_MODE: { readonly MARKET: "market"; readonly EXCHANGE: "exchange"; readonly REQUEST: "request"; readonly INSTANT: "instant"; }; export type MT5ExecutionMode = (typeof MT5_EXECUTION_MODE)[keyof typeof MT5_EXECUTION_MODE]; /** `Mt5ChartBar.data.source` enum. From BE §4.6. */ export declare const MT5_CHART_BAR_SOURCE: { readonly LIVE: "live"; readonly MT5: "mt5"; readonly CORRECTED: "corrected"; }; export type MT5ChartBarSource = (typeof MT5_CHART_BAR_SOURCE)[keyof typeof MT5_CHART_BAR_SOURCE]; /** `Mt5Server.data.state` lifecycle enum. From BE pack §content_types. */ export declare const MT5_SERVER_STATE: { readonly PENDING: "pending"; readonly DEPLOYING: "deploying"; readonly ACTIVE: "active"; readonly DEGRADED: "degraded"; readonly STOPPING: "stopping"; readonly STOPPED: "stopped"; }; export type MT5ServerState = (typeof MT5_SERVER_STATE)[keyof typeof MT5_SERVER_STATE]; /** `Mt5SyncState.data.phase` lifecycle enum. From BE pack §content_types. */ export declare const MT5_SYNC_PHASE: { readonly IDLE: "idle"; readonly SYNCING: "syncing"; readonly BACKFILLING: "backfilling"; readonly PAUSED: "paused"; readonly FAILED: "failed"; readonly COMPLETED: "completed"; }; export type MT5SyncPhase = (typeof MT5_SYNC_PHASE)[keyof typeof MT5_SYNC_PHASE]; /** * `KalshiServer.data.status` lifecycle enum (FEAT-010). The Kalshi pack * registers a different status alphabet from MT5 — kept separate so a * global `MT5_SERVER_STATE` search doesn't surface Kalshi rows. */ export declare const KALSHI_SERVER_STATUS: { readonly ACTIVE: "active"; readonly INACTIVE: "inactive"; readonly ERROR: "error"; }; export type KalshiServerStatus = (typeof KALSHI_SERVER_STATUS)[keyof typeof KALSHI_SERVER_STATUS]; /** * `KalshiEvent.data.status` lifecycle (pack §2.2 / §2.4): * `open` while any child is active; `finalized` when settled; `closed` otherwise. */ export declare const KALSHI_LIFECYCLE_STATUS: { readonly OPEN: "open"; readonly CLOSED: "closed"; readonly FINALIZED: "finalized"; /** @deprecated Use `FINALIZED`. */ readonly SETTLED: "settled"; }; export type KalshiLifecycleStatus = (typeof KALSHI_LIFECYCLE_STATUS)[keyof typeof KALSHI_LIFECYCLE_STATUS]; /** * `KalshiFuture.data.status` lifecycle (pack §2.3 / §2.4): * `active → closed → finalized`. */ export declare const KALSHI_FUTURE_STATUS: { readonly ACTIVE: "active"; readonly CLOSED: "closed"; readonly FINALIZED: "finalized"; /** @deprecated Use `FINALIZED`. */ readonly SETTLED: "settled"; readonly DISABLED: "disabled"; }; export type KalshiFutureStatus = (typeof KALSHI_FUTURE_STATUS)[keyof typeof KALSHI_FUTURE_STATUS]; /** Settled outcome on `KalshiFuture.data.result` (§4.13). */ export declare const KALSHI_SETTLEMENT_RESULT: { readonly YES: "yes"; readonly NO: "no"; readonly SCALAR: "scalar"; }; export type KalshiSettlementResult = (typeof KALSHI_SETTLEMENT_RESULT)[keyof typeof KALSHI_SETTLEMENT_RESULT]; /** * Path of the public MT5 server catalog projection (eaera-mt5 DR-27), * relative to the CMS API base. The `Mt5Server` content type itself is * admin-only — never read it through the content API for the catalog. */ export declare const MT5_SERVER_CATALOG_PATH = "/api/v1/mt5/servers"; //# sourceMappingURL=mt5.constant.d.ts.map