import BigNumber from 'bignumber.js';
import { TokenInfo, TokenList } from './type';
import { ChainId } from '@dodoex/api';
export declare const getFuzzySearchTokenSort: (token: TokenInfo, search: string, { matchAddress, }?: {
    matchAddress?: boolean;
}) => number;
export default function useTokenList({ value, onChange, occupiedAddrs, occupiedChainId, hiddenAddrs, showAddrs, side, chainId: chainIdProps, visible, defaultLoadBalance, multiple, }: {
    value?: TokenInfo | null | Array<TokenInfo>;
    onChange: (token: TokenInfo | Array<TokenInfo>, isOccupied: boolean) => void;
    /** token pair usage */
    occupiedAddrs?: string[];
    /** token pair usage */
    occupiedChainId?: ChainId;
    /** hide props */
    hiddenAddrs?: string[];
    /** only show props */
    showAddrs?: string[];
    /** token field control */
    side?: 'from' | 'to';
    chainId?: number;
    /** Token Picker visible */
    visible?: boolean;
    defaultLoadBalance?: boolean;
    multiple?: boolean;
}): {
    filter: string;
    setFilter: import("react").Dispatch<import("react").SetStateAction<string>>;
    showTokenList: TokenList;
    onSelectToken: (token: TokenInfo) => void;
    popularTokenList: TokenInfo[];
    tokenInfoMap: Map<string, {
        balance: BigNumber;
        allowance: BigNumber;
    }>;
    customTokenList: TokenList;
};
