///
import { ethers } from "ethers";
import * as web3 from '@solana/web3.js';
import { BigNumber } from '@ethersproject/bignumber';
import type { Portal } from './artifacts-types/Portal';
import type { Synthesis } from './artifacts-types/Synthesis';
import type { Bridge } from './artifacts-types/Bridge';
export declare const SOLANA_CHAIN_ID = 501501501;
export type { Bridge } from './artifacts-types/Bridge';
export type { Portal } from './artifacts-types/Portal';
export type { Synthesis } from './artifacts-types/Synthesis';
export type { IERC20 } from './artifacts-types/IERC20';
export type { TestToken } from './artifacts-types/TestToken';
export { Bridge__factory } from './artifacts-types/factories/Bridge__factory';
export { Portal__factory } from './artifacts-types/factories/Portal__factory';
export { Synthesis__factory } from './artifacts-types/factories/Synthesis__factory';
export { IERC20__factory } from './artifacts-types/factories/IERC20__factory';
export { TestToken__factory } from './artifacts-types/factories/TestToken__factory';
export declare type THexString = string;
export declare type TAddress = THexString;
export declare type UInt160 = Buffer;
export declare type TPubkey = Buffer;
export declare const bufPadLeftTo: (buf: Buffer, sizeToBytes: number) => Buffer;
export declare const trim0x: (hex: THexString) => THexString;
export declare const hex2buf: (hex: THexString) => TPubkey;
export declare const addr2buf: (addr: TAddress) => TPubkey;
export declare class EthSolWrapper {
private portal;
private synthesis;
private bridge;
constructor(portal: Portal, synthesis: Synthesis, bridge: Bridge);
buildRequestId(pubOppositeBridge: web3.PublicKey, pubReceiveSide: web3.PublicKey, from: TAddress, fromChainId: number): Promise;
findTxStateAddress(pubReceiveSide: web3.PublicKey, pubToken: web3.PublicKey): Promise<[web3.PublicKey, number]>;
getTxStateAddress(pubReceiveSide: web3.PublicKey, txId: TPubkey): Promise;
getReceiveSideDataAddress(pubReceiveSide: web3.PublicKey): Promise;
getOppositeBridgeDataAddress(pubOppositeBridge: web3.PublicKey): Promise;
getSyntTokenAddress(realToken: UInt160, pubReceiveSide: web3.PublicKey): Promise;
getSyntTokenDataAddress(realToken: UInt160, pubReceiveSide: web3.PublicKey): Promise;
synthesize(token: TAddress, amount: BigNumber, bufChain2address: TPubkey, bufReceiveSide: TPubkey, bufOppositeBridge: TPubkey): Promise;
emergencyUnburnRequest(txId: TPubkey, token: TAddress, bufChain2address: TPubkey, bufReceiveSide: TPubkey, bufOppositeBridge: TPubkey): Promise;
emergencyUnsyntesizeRequest(bufRealToken: TPubkey, bufChain2address: TPubkey, bufReceiveSide: TPubkey, bufOppositeBridge: TPubkey): Promise;
burnSyntheticToken(token: TAddress, bufRealToken: TPubkey, amount: BigNumber, bufChain2address: TPubkey, bufReceiveSide: TPubkey, bufOppositeBridge: TPubkey): Promise;
}