import { Commitment, Connection } from '@solana/web3.js'; import { DriftClient } from '../driftClient'; export type UserAccountFilterCriteria = { hasOpenOrders: boolean; }; export type SyncConfig = { type: 'default'; } | { type: 'paginated'; chunkSize?: number; concurrencyLimit?: number; }; export type UserMapConfig = { driftClient: DriftClient; connection?: Connection; subscriptionConfig: { type: 'polling'; frequency: number; commitment?: Commitment; } | { type: 'websocket'; resubTimeoutMs?: number; logResubMessages?: boolean; commitment?: Commitment; }; skipInitialLoad?: boolean; includeIdle?: boolean; fastDecode?: boolean; disableSyncOnTotalAccountsChange?: boolean; syncConfig?: SyncConfig; };