///
import { Buffer } from 'buffer';
import { ExecState, NewTxData, HexString, IExecutor, ISession, IStorage, SessionOpts, DeployOpts, EIP } from './interfaces';
import { RPC } from './rpc';
export declare function newSession(opts?: SessionOpts): Session;
export declare class Session implements ISession {
opts?: SessionOpts | undefined;
readonly rpc: RPC;
state: ExecState;
constructor(opts?: SessionOpts | undefined);
supports(eip: keyof EIP): boolean;
checkSupports(eip: keyof EIP): void;
addNames(names?: SessionOpts['contractsNames']): this;
deploy(code: string | Buffer | Uint8Array, opts: Omit, deployOpts?: DeployOpts): Promise;
deployRaw(code: string | Buffer | Uint8Array, opts?: DeployOpts, rawStorage?: IStorage): Promise;
prepareCall(input: NewTxData): Promise;
prepareStaticCall(_contract: HexString | bigint, calldata: string | Uint8Array, returndatasize: number): Promise;
getContract(_contract: HexString | bigint): Promise;
}