import { TokenBalance, TokenBalancesForOneAccountReducer, TokenBalancesForOneAccount } from './_types';
import { TransferrableTokensParticleT } from '@radixdlt/atom';
import { Result } from 'neverthrow';
import { ResourceIdentifierT } from '@radixdlt/atom/src/_types';
import { AddressT } from '@radixdlt/account';
export declare const tokenBalancesForOneAccount: (input: Readonly<{
    owner: AddressT;
    balances: Map<ResourceIdentifierT, TokenBalance>;
}>) => TokenBalancesForOneAccount;
export declare const tokenBalancesForOneAccountFromParticle: (transferrableTokensParticle: TransferrableTokensParticleT) => TokenBalancesForOneAccount;
export declare const emptyTokenBalancesForOneAccount: (owner: AddressT) => TokenBalancesForOneAccount;
export declare const tokenBalance: (ttp: TransferrableTokensParticleT) => TokenBalance;
export declare const mergeTokenBalance: (lhs: TokenBalance, rhs: TokenBalance) => Result<TokenBalance, Error>;
export declare const mergeMaps: <K, V>(input: Readonly<{
    first: Map<K, V>;
    second: Map<K, V>;
    onDuplicates: (lhsValue: V, rhsValue: V, duplicatedKey: K) => Result<V, Error>;
}>) => Result<Map<K, V>, Error>;
export declare const tokenBalancesForOneAccountReducer: (owner: AddressT) => TokenBalancesForOneAccountReducer;
//# sourceMappingURL=tokenBalancesForOneAccountReducer.d.ts.map