import { Connection, PublicKey } from '@solana/web3.js';
import { RawMint, TransferFeeConfigLayout } from '@solana/spl-token';
import { i as BigNumberish, a9 as TokenAmount } from '../../type-CuA4U4Hx.mjs';
import { ApiV3Token } from '../../api/type.mjs';
import { Token } from '../../module/token.mjs';
import { TokenInfo } from './type.mjs';
import 'bn.js';
import '../../api/api.mjs';
import 'axios';
import '../../solana/type.mjs';
import '../../api/url.mjs';
import 'decimal.js';
import '../../common/logger.mjs';
import '../../module/currency.mjs';
import '../../common/owner.mjs';
import '../../common/txTool/lookupTable.mjs';
import '../../common/txTool/txType.mjs';
import '../../common/pubKey.mjs';

declare const parseTokenInfo: ({ connection, mint, }: {
    connection: Connection;
    mint: PublicKey | string;
}) => Promise<RawMint | undefined>;
declare const toTokenInfo: ({ mint, decimals, programId, logoURI, priority, }: {
    mint: PublicKey;
    decimals: number;
    programId?: PublicKey | string;
    priority?: number;
    logoURI?: string;
}) => TokenInfo;
declare const toToken: (props: Omit<TokenInfo, "priority">) => Token;
declare const toTokenAmount: ({ amount, isRaw, name, ...props }: Omit<TokenInfo, "priority"> & {
    amount: BigNumberish;
    isRaw?: boolean;
    name?: string;
}) => TokenAmount;
declare function solToWSolToken<T extends ApiV3Token | TokenInfo>(token: T): T;
declare function wSolToSolToken<T extends ApiV3Token | TokenInfo>(token: T): T;
declare const toApiV3Token: ({ address, programId, decimals, ...props }: {
    address: string;
    programId: string;
    decimals: number;
} & Partial<ApiV3Token>) => ApiV3Token;
declare const toFeeConfig: (config?: ReturnType<typeof TransferFeeConfigLayout.decode> | undefined | null) => ApiV3Token["extensions"]["feeConfig"] | undefined;

export { parseTokenInfo, solToWSolToken, toApiV3Token, toFeeConfig, toToken, toTokenAmount, toTokenInfo, wSolToSolToken };
