import type { Static } from '@feathersjs/typebox'; import type { HookContext } from '../../../../declarations'; import type { ExchangesArbitrageOpportunitiesService } from './opportunities.class'; export declare const paperTradeSchema: import("@feathersjs/typebox").TObject<{ id: import("@feathersjs/typebox").TString; symbol: import("@feathersjs/typebox").TString; buyExchange: import("@feathersjs/typebox").TString; sellExchange: import("@feathersjs/typebox").TString; entryBuyAsk: import("@feathersjs/typebox").TNumber; entrySellBid: import("@feathersjs/typebox").TNumber; entryGrossPct: import("@feathersjs/typebox").TNumber; entryNetPct: import("@feathersjs/typebox").TNumber; entryVwapNetPct: import("@feathersjs/typebox").TNumber; entryFeePct: import("@feathersjs/typebox").TNumber; entryLiqUsd: import("@feathersjs/typebox").TNumber; entryTs: import("@feathersjs/typebox").TNumber; exitTs: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TNull]>; exitReason: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"closed">, import("@feathersjs/typebox").TLiteral<"stale">, import("@feathersjs/typebox").TNull]>; pnlPct: import("@feathersjs/typebox").TNumber; durationMs: import("@feathersjs/typebox").TNumber; }>; export declare const exchangesArbitrageOpportunitiesSchema: import("@feathersjs/typebox").TObject<{ total: import("@feathersjs/typebox").TNumber; trades: import("@feathersjs/typebox").TArray; symbol: import("@feathersjs/typebox").TString; buyExchange: import("@feathersjs/typebox").TString; sellExchange: import("@feathersjs/typebox").TString; entryBuyAsk: import("@feathersjs/typebox").TNumber; entrySellBid: import("@feathersjs/typebox").TNumber; entryGrossPct: import("@feathersjs/typebox").TNumber; entryNetPct: import("@feathersjs/typebox").TNumber; entryVwapNetPct: import("@feathersjs/typebox").TNumber; entryFeePct: import("@feathersjs/typebox").TNumber; entryLiqUsd: import("@feathersjs/typebox").TNumber; entryTs: import("@feathersjs/typebox").TNumber; exitTs: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TNumber, import("@feathersjs/typebox").TNull]>; exitReason: import("@feathersjs/typebox").TUnion<[import("@feathersjs/typebox").TLiteral<"closed">, import("@feathersjs/typebox").TLiteral<"stale">, import("@feathersjs/typebox").TNull]>; pnlPct: import("@feathersjs/typebox").TNumber; durationMs: import("@feathersjs/typebox").TNumber; }>>; }>; export type ExchangesArbitrageOpportunities = Static; export declare const exchangesArbitrageOpportunitiesValidator: import("@feathersjs/schema").Validator; export declare const exchangesArbitrageOpportunitiesResolver: import("@feathersjs/schema").Resolver<{ total: number; trades: { id: string; symbol: string; buyExchange: string; sellExchange: string; entryBuyAsk: number; entrySellBid: number; entryGrossPct: number; entryNetPct: number; entryVwapNetPct: number; entryFeePct: number; entryLiqUsd: number; entryTs: number; exitTs: number | null; exitReason: "closed" | "stale" | null; pnlPct: number; durationMs: number; }[]; }, HookContext>>; export declare const exchangesArbitrageOpportunitiesExternalResolver: import("@feathersjs/schema").Resolver<{ total: number; trades: { id: string; symbol: string; buyExchange: string; sellExchange: string; entryBuyAsk: number; entrySellBid: number; entryGrossPct: number; entryNetPct: number; entryVwapNetPct: number; entryFeePct: number; entryLiqUsd: number; entryTs: number; exitTs: number | null; exitReason: "closed" | "stale" | null; pnlPct: number; durationMs: number; }[]; }, HookContext>>; export declare const exchangesArbitrageOpportunitiesDataSchema: import("@feathersjs/typebox").TObject<{}>; export type ExchangesArbitrageOpportunitiesData = Static; export declare const exchangesArbitrageOpportunitiesDataValidator: import("@feathersjs/schema").Validator; export declare const exchangesArbitrageOpportunitiesDataResolver: import("@feathersjs/schema").Resolver<{ total: number; trades: { id: string; symbol: string; buyExchange: string; sellExchange: string; entryBuyAsk: number; entrySellBid: number; entryGrossPct: number; entryNetPct: number; entryVwapNetPct: number; entryFeePct: number; entryLiqUsd: number; entryTs: number; exitTs: number | null; exitReason: "closed" | "stale" | null; pnlPct: number; durationMs: number; }[]; }, HookContext>>; export declare const exchangesArbitrageOpportunitiesPatchSchema: import("@feathersjs/typebox").TObject<{}>; export type ExchangesArbitrageOpportunitiesPatch = Static; export declare const exchangesArbitrageOpportunitiesPatchValidator: import("@feathersjs/schema").Validator; export declare const exchangesArbitrageOpportunitiesPatchResolver: import("@feathersjs/schema").Resolver<{ total: number; trades: { id: string; symbol: string; buyExchange: string; sellExchange: string; entryBuyAsk: number; entrySellBid: number; entryGrossPct: number; entryNetPct: number; entryVwapNetPct: number; entryFeePct: number; entryLiqUsd: number; entryTs: number; exitTs: number | null; exitReason: "closed" | "stale" | null; pnlPct: number; durationMs: number; }[]; }, HookContext>>; export declare const exchangesArbitrageOpportunitiesQueryProperties: import("@feathersjs/typebox").TObject<{ since: import("@feathersjs/typebox").TOptional; $limit: import("@feathersjs/typebox").TOptional; }>; export declare const exchangesArbitrageOpportunitiesQuerySchema: import("@feathersjs/typebox").TIntersect<[import("@feathersjs/typebox").TObject<{ since: import("@feathersjs/typebox").TOptional; $limit: import("@feathersjs/typebox").TOptional; }>, import("@feathersjs/typebox").TObject<{}>]>; export type ExchangesArbitrageOpportunitiesQuery = Static; export declare const exchangesArbitrageOpportunitiesQueryValidator: import("@feathersjs/schema").Validator; export declare const exchangesArbitrageOpportunitiesQueryResolver: import("@feathersjs/schema").Resolver<{ since?: number | undefined; $limit?: number | undefined; } & {}, HookContext>>;