import type { MarkOptional } from 'ts-essentials';
/**
 * @type hex token or account address
 */
export type Address = string;
/**
 * @type hex token address or token symbol
 */
export type AddressOrSymbol = string;
/**
 * @type number in string form
 */
export type PriceString = string;
/**
 * @type transaction hash
 */
export type TxHash = `0x${string}`;
export type LendingToken = 'cToken' | 'iToken' | 'aToken' | 'aToken2' | 'idleToken' | 'Chai' | 'bDAI';
export type TokenType = 'ETH' | 'ERC20' | 'SYNTH';
/**
 * @type Token object returned from API used internally in API
 */
export type Token = {
    address: string;
    decimals: number;
    symbol?: string | undefined;
    tokenType: LendingToken | TokenType;
    mainConnector: string;
    connectors: string[];
    network: number;
    img?: string | undefined;
    allowance?: string | undefined;
    balance?: string | undefined;
};
type ConstructTokenInput = MarkOptional<Token, 'tokenType' | 'mainConnector' | 'connectors' | 'network'>;
export declare const constructToken: (tokenProps: ConstructTokenInput) => Token;
export {};
//# sourceMappingURL=token.d.ts.map