import { ProtocolBlockExplorer } from '../../utils/ProtocolBlockExplorer'; import { NetworkType, ProtocolNetwork } from '../../utils/ProtocolNetwork'; import { ProtocolOptions } from '../../utils/ProtocolOptions'; import { SubstrateBlockExplorerClient } from './common/blockexplorer/SubstrateBlockExplorerClient'; import { SubstrateNodeClient } from './common/node/SubstrateNodeClient'; import { SubstrateAccountController } from './common/SubstrateAccountController'; import { SubstrateTransactionController } from './common/SubstrateTransactionController'; import { SubstrateNetwork } from './SubstrateNetwork'; export declare class SubstrateProtocolNetworkExtras { readonly apiUrl: string; readonly network: T; constructor(apiUrl: string, network: T); } export declare class SubscanBlockExplorer implements ProtocolBlockExplorer { readonly blockExplorer: string; constructor(blockExplorer: string); getAddressLink(address: string): Promise; getTransactionLink(transactionId: string): Promise; } export declare class SubstrateProtocolConfig { constructor(); } export declare class SubstrateProtocolNetwork extends ProtocolNetwork> { constructor(name: string | undefined, type: NetworkType | undefined, rpcUrl: string, blockExplorer: ProtocolBlockExplorer, extras: SubstrateProtocolNetworkExtras); } export declare class SubstrateProtocolOptions = SubstrateNodeClient, AccountController extends SubstrateAccountController = SubstrateAccountController, TransactionController extends SubstrateTransactionController = SubstrateTransactionController> implements ProtocolOptions { readonly network: SubstrateProtocolNetwork; readonly config: Config; readonly nodeClient: NodeClient; readonly accountController: AccountController; readonly transactionController: TransactionController; readonly blockExplorerClient: SubstrateBlockExplorerClient; constructor(network: SubstrateProtocolNetwork, config: Config, nodeClient: NodeClient, accountController: AccountController, transactionController: TransactionController); }