/// import { Address, GSNContractsDeployment, LoggerInterface } from '@opengsn/common'; import { HttpServer } from '@opengsn/relay/dist/HttpServer'; import { RelayProvider } from '@opengsn/provider/dist/RelayProvider'; import { ChildProcess } from 'child_process'; export interface TestEnvironment { contractsDeployment: GSNContractsDeployment; relayProvider: RelayProvider; httpServer: HttpServer; relayUrl: string; hardhatNode?: ChildProcess; } declare class GsnTestEnvironmentClass { private httpServer?; /** * * @param host: * @param logger * @return */ deployGsn(host: string, logger?: LoggerInterface): Promise; /** * * @param host - the Ethereum RPC node URL * @param localRelayUrl - the local GSN RelayServer URL for RelayRegistrar * @param port - the port for the RelayServer to listen to (optional) * @param logger * @return */ startGsn(host: string, localRelayUrl?: string, port?: number, logger?: LoggerInterface): Promise; /** * initialize a local relay * @private */ private _resolveAvailablePort; stopGsn(): Promise; _runServer(host: string, deploymentResult: GSNContractsDeployment, from: Address, relayUrl: string, port: number, logger: LoggerInterface): Promise; /** * return deployment saved by "gsn start" * @param workdir * @param url - an Ethereum RPC API Node URL */ loadDeployment(url: string, workdir?: string): Promise; } export declare const GsnTestEnvironment: GsnTestEnvironmentClass; export {};