import type { Id, Params } from '@feathersjs/feathers'; import type { MongoDBAdapterOptions, MongoDBAdapterParams } from '@feathersjs/mongodb'; import { MongoDBService } from '@feathersjs/mongodb'; import type { Application } from '../../../declarations'; import type { InsightsCryptoStressIndex, InsightsCryptoStressIndexData, InsightsCryptoStressIndexPatch, InsightsCryptoStressIndexQuery } from './crypto-stress-index.schema'; export type { InsightsCryptoStressIndex, InsightsCryptoStressIndexData, InsightsCryptoStressIndexPatch, InsightsCryptoStressIndexQuery }; export interface InsightsCryptoStressIndexParams extends MongoDBAdapterParams { } export type Band = 'calm' | 'elevated' | 'stressed' | 'severe' | 'extreme'; export interface BandThresholds { elevated: number; stressed: number; severe: number; extreme: number; } export declare function scoreToBand(score: number, thresholds?: BandThresholds): Band; export interface ConfirmedStressResponse { confirmedBand: Band; score: number; emaScore: number; stakeMultiplier: number; maxTradesMultiplier: number; stoplossMultiplier: number; blockEntries: boolean; exitMode: 'none' | 'exit_losers' | 'exit_all'; } export declare class InsightsCryptoStressIndexService extends MongoDBService { private _emaScore; private _confirmedBand; private _pendingBand; private _pendingCount; updateConfirmedState(rawScore: number): { bandChanged: boolean; previousBand: Band; newBand: Band; }; getConfirmedState(): ConfirmedStressResponse; get(id: Id, params?: ServiceParams): Promise; } export declare const getOptions: (app: Application) => MongoDBAdapterOptions;