import BigNumber from 'bignumber.js';
import { TokenInfo, TokenList } from './Token';
export type AccountBalance = {
    tokenBalances?: BigNumber;
    tokenAllowances?: BigNumber;
};
export type AccountBalances = {
    [key in string]: AccountBalance;
};
interface TokenState {
    tokenList: TokenList;
    popularTokenList: TokenList;
    customTokenList: TokenList;
}
export declare const useTokenState: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<TokenState>, "persist"> & {
    persist: {
        setOptions: (options: Partial<import("zustand/middleware").PersistOptions<TokenState, TokenState>>) => void;
        clearStorage: () => void;
        rehydrate: () => Promise<void> | void;
        hasHydrated: () => boolean;
        onHydrate: (fn: (state: TokenState) => void) => () => void;
        onFinishHydration: (fn: (state: TokenState) => void) => () => void;
        getOptions: () => Partial<import("zustand/middleware").PersistOptions<TokenState, TokenState>>;
    };
}>;
export declare function getAllTokenList(state?: TokenState): TokenInfo[];
export declare function setTokenList(value: TokenState['tokenList']): void;
export declare function setPopularTokenList(value: TokenState['popularTokenList']): void;
export declare function setCustomTokenList(value: TokenInfo): void;
export declare function deleteCustomTokenList(value: TokenInfo): void;
export {};
