import { ClosedPnlRecord, RuntimeTradeRecord, ExchangeEntryRecord, PositionPnlSnapshot } from '@tradejs/types'; type ClosedPnlRecordWithOrderLinkId = ClosedPnlRecord & { direction?: RuntimeTradeRecord['direction']; entryTimestamp?: number; orderLinkId?: string; }; declare const takeExactClosedPnlMatch: ({ exactByOrderLinkId, exactByOrderId, symbolBuckets, orderLinkId, orderId, }: { exactByOrderLinkId: Map; exactByOrderId: Map; symbolBuckets: Map; orderLinkId?: string | null; orderId?: string | null; }) => ClosedPnlRecordWithOrderLinkId | null; declare const takeClosedPnlMatch: ({ exactByOrderLinkId, exactByOrderId, symbolBuckets, trade, }: { exactByOrderLinkId: Map; exactByOrderId?: Map; symbolBuckets: Map; trade: RuntimeTradeRecord; }) => ClosedPnlRecordWithOrderLinkId | null; declare const buildExchangeFallbackRuntimeTrades: ({ entryRows, closedPnlRows, openPositions, strategyNames, existingTrades, endTime, scope, }: { entryRows: ExchangeEntryRecord[]; closedPnlRows: ClosedPnlRecordWithOrderLinkId[]; openPositions: PositionPnlSnapshot[]; strategyNames: string[]; existingTrades: RuntimeTradeRecord[]; endTime: number; scope?: Pick; }) => RuntimeTradeRecord[]; export { type ClosedPnlRecordWithOrderLinkId, buildExchangeFallbackRuntimeTrades, takeClosedPnlMatch, takeExactClosedPnlMatch };