import { Amount } from '../../../types/amount'; import { ExtendedPublicKey, PublicKey } from '../../../types/key'; import { _OnlineProtocol } from '../../protocol'; export declare type GetTokenBalancesExtension = T extends _OnlineProtocol ? GetTokenBalances<_PublicKey> : never; interface BaseTokenDetails<_Type extends string> { type: _Type; identifier: string; contractAddress: string; } interface SingleTokenDetails extends BaseTokenDetails<'single'> { } interface MultiTokenDetails extends BaseTokenDetails<'multi'> { tokenId: string; } export declare type TokenDetails = SingleTokenDetails | MultiTokenDetails; export interface GetTokenBalances<_PublicKey extends PublicKey | ExtendedPublicKey = PublicKey> { getTokenBalancesOfPublicKey(publicKey: _PublicKey, tokens: TokenDetails[]): Promise>; } export {};