/** * Serializable configuration for the connection */ export type LunchMoneyCryptoConnectionConfig = { cryptoAccountId?: string | null; apiKey: string; }; export type LunchMoneyCryptoConnectionContext = { [key: string]: any; }; export interface CryptoBalance { type: 'crypto' | 'cash'; raw: string; asset: string; amount: string; } export declare const providerNames: readonly ["coinbase", "coinbase_pro", "kraken", "binance", "wallet_ethereum"]; export type ProviderName = typeof providerNames[number]; export interface LunchMoneyCryptoConnectionBalances { providerName: ProviderName; balances: CryptoBalance[]; } export type LunchMoneyCryptoConnectionInitialization = LunchMoneyCryptoConnectionBalances; export interface LunchMoneyCryptoConnection { initiate(config: TConfig, context?: TContext): Promise; getBalances(config: TConfig, context?: TContext): Promise; }