///
import type { Signer } from "arbundles";
import { AptosSigner } from "arbundles";
import BigNumber from "bignumber.js";
import type { TokenConfig, Tx } from "../../common/types";
import { BaseNodeToken } from "./base";
import { Aptos, AptosConfig as AptosSDKConfig, Account } from "@aptos-labs/ts-sdk";
export default class AptosConfig extends BaseNodeToken {
protected providerInstance?: Aptos;
protected accountInstance: Account | undefined;
protected signerInstance: AptosSigner | undefined;
protected aptosConfig: AptosSDKConfig;
protected signingFn: (msg: Uint8Array) => Promise;
opts: any;
protected txLock: Promise;
protected locked: boolean;
constructor(config: TokenConfig);
getProvider(): Promise;
getTx(txId: string): Promise;
ownerToAddress(owner: any): string;
sign(data: Uint8Array): Promise;
getSigner(): Signer;
verify(pub: any, data: Uint8Array, signature: Uint8Array): Promise;
getCurrentHeight(): Promise;
getFee(amount: BigNumber.Value, to?: string): Promise<{
gasUnitPrice: number;
maxGasAmount: number;
}>;
sendTx(data: {
tx: Uint8Array;
unlock?: () => void;
}): Promise;
createTx(amount: BigNumber.Value, to: string, fee?: {
gasUnitPrice: number;
maxGasAmount: number;
}): Promise<{
txId: string | undefined;
tx: any;
}>;
getPublicKey(): string | Buffer;
ready(): Promise;
protected lock(): Promise;
}