/// <reference types="node" />
import { BigNumber } from "@ethersproject/bignumber";
import { ChainId } from "./consts";
export declare const METADATA_REPLACE: RegExp;
export declare const parseNFTPayload: (arr: Buffer) => {
    originAddress: string;
    originChain: ChainId;
    symbol: string;
    name: string;
    tokenId: BigNumber;
    uri: string;
    targetAddress: string;
};
export declare const parseTransferPayload: (arr: Buffer) => {
    amount: bigint;
    originAddress: string;
    originChain: ChainId;
    targetAddress: string;
    fee: bigint;
};
export declare class Signature {
    index: number;
    sig: Uint8Array;
    constructor(index: number, sig: Uint8Array);
}
export declare class VAA {
    version: number;
    guardianSetIndex: number;
    signatures: Signature[];
    encodedBody: Uint8Array;
    body: VAABody;
    static from(data: Uint8Array): VAA;
    constructor(version: number, guardianSetIndex: number, signatures: Signature[], encodedBody: Uint8Array, body: VAABody);
}
export declare class VAABody {
    timestamp: number;
    nonce: number;
    emitterChainId: ChainId;
    targetChainId: ChainId;
    emitterAddress: Uint8Array;
    sequence: number;
    consistencyLevel: number;
    payload: Uint8Array;
    static from(data: Uint8Array): VAABody;
    constructor(timestamp: number, nonce: number, emitterChainId: ChainId, targetChainId: ChainId, emitterAddress: Uint8Array, sequence: number, consistencyLevel: number, payload: Uint8Array);
}
export declare function parseVAA(data: Uint8Array): VAA;
