import { API, NameType, AssetType } from '@wharfkit/antelope';
import { ActionOptions } from '@wharfkit/contract';
import Decimal from 'decimal.js';
import { Contract } from './Contract';
import { Signer } from '../eosio/transaction';
/**
 * @deprecated use assetToDecimal instead
 */
export declare function assetToAmount(asset: string, symbol?: string): number;
export declare function assetToDecimal(asset: string, symbol?: string): Decimal;
/** Convert a number to an EOSIO asset string
 *
 * @deprecated remove use of number to represent tokens. Use Decimal/BigInt instead
 * see FIXME above
 */
export declare function amountToAsset(amount: number, symbol: string, precision?: number): string;
export declare function amountToSupplyPercentage(amount: Decimal): string;
export declare class EosioTokenContract extends Contract {
    static TOTAL_SUPPLY: number;
    static atAccount(account?: NameType): Promise<EosioTokenContract>;
    static fromAbi(abi: any, account?: NameType): EosioTokenContract;
    actions: {
        create: (data: {
            issuer: NameType;
            maximumSupply: AssetType;
        }, authorization?: ActionOptions) => import("@wharfkit/antelope").Action;
        issue: ({ to, quantity, memo }: {
            to: NameType;
            quantity: AssetType;
            memo: string;
        }, authorization?: ActionOptions) => import("@wharfkit/antelope").Action;
        retire: ({ quantity, memo }: {
            quantity: AssetType;
            memo: string;
        }, authorization?: ActionOptions) => import("@wharfkit/antelope").Action;
        transfer: ({ from, to, quantity, memo }: {
            from: NameType;
            to: NameType;
            quantity: AssetType;
            memo?: string;
        }, authorization?: ActionOptions) => import("@wharfkit/antelope").Action;
        setStats: (data: object, authorization?: ActionOptions) => import("@wharfkit/antelope").Action;
        bridgeIssue: ({ to, quantity, memo }: {
            to: NameType;
            quantity: AssetType;
            memo: string;
        }, authorization?: ActionOptions) => import("@wharfkit/antelope").Action;
        bridgeRetire: ({ from, quantity, memo }: {
            from: NameType;
            quantity: AssetType;
            memo: string;
        }, authorization?: ActionOptions) => import("@wharfkit/antelope").Action;
    };
    create(issuer: NameType, maximumSupply: AssetType, signer: Signer): Promise<API.v1.PushTransactionResponse>;
    issue(to: NameType, quantity: AssetType, memo: string, signer: Signer): Promise<API.v1.PushTransactionResponse>;
    transfer(from: NameType, to: NameType, quantity: AssetType, memo: string, signer: Signer): Promise<API.v1.PushTransactionResponse>;
    retire(quantity: AssetType, memo: string, signer: Signer): Promise<API.v1.PushTransactionResponse>;
    bridgeIssue(to: NameType, quantity: AssetType, memo: string, signer: Signer): Promise<API.v1.PushTransactionResponse>;
    bridgeRetire(from: NameType, quantity: AssetType, memo: string, signer: Signer): Promise<API.v1.PushTransactionResponse>;
    /**
     * @deprecated use getBalanceDecimal instead
     */
    getBalance(account: NameType, symbol?: string): Promise<number>;
    getBalanceDecimal(account: NameType, symbol?: string): Promise<Decimal>;
}
export declare const getTokenContract: () => EosioTokenContract;
//# sourceMappingURL=EosioTokenContract.d.ts.map