/// <reference types="node" />
import BN from 'bignumber.js';
import { ChronikClient } from 'chronik-client';
import { IChain } from '..';
import { BtcChain } from '../btc';
export interface UtxoToken {
    addressInfo: IAddress;
    txid: string;
    outIdx: number;
    value: number;
    isNonSLP?: boolean;
    slpMeta?: any;
    tokenId?: string;
    amountToken?: number;
    tokenQty?: number;
    decimals?: number;
}
export interface IAddress {
    version: string;
    createdOn: number;
    address: string;
    walletId: string;
    isChange: boolean;
    path: string;
    publicKeys: string[];
    coin: string;
    network: string;
    type: string;
    hasActivity: any;
    beRegistered: boolean;
}
export interface TokenInfo {
    id: string;
    symbol: string;
    name: string;
    coin: string;
    decimals: number;
    documentHash?: string;
    documentUri: string;
}
export declare class XecChain extends BtcChain implements IChain {
    chronikClient: ChronikClient;
    constructor();
    convertAddressToScriptPayload(address: any): any;
    getChronikClient(): ChronikClient;
    getTokenInfo(tokenId: any): Promise<TokenInfo>;
    sendToken(wallet: any, mnemonic: any, tokenId: any, token: any, TOKENQTY: any, etokenAddress: any): Promise<unknown>;
    burnToken(wallet: any, mnemonic: string, tokenId: string, TOKENQTY: number, splitTxId: string): Promise<unknown>;
    private findBiggestUtxo;
    getTokenUtxos(utxos: UtxoToken[], tokenInfo: TokenInfo): UtxoToken[];
    broadcastRaw(wallet: any, raw: any, ischronik: any): Promise<unknown>;
    getUtxosToken(wallet: any): Promise<any>;
    convertFeePerKb(p: any, feePerKb: any): any[];
    getSizeSafetyMargin(opts: any): number;
    getInputSizeSafetyMargin(opts: any): number;
    validateAddress(wallet: any, inaddr: any, opts: any): void;
    pushdata(buf: Buffer | Uint8Array): Buffer;
    6: any;
    BNToInt64BE(bn: BN): Buffer;
    buildBurnOpReturn(tokenId: string, burnQuantity: BN): Buffer;
}
//# sourceMappingURL=index.d.ts.map