import { ICoinProtocol, ICoinSubProtocol } from '@airgap/coinlib-core'; import { AirGapTransactionStatus, IAirGapTransaction } from '@airgap/coinlib-core/interfaces/IAirGapTransaction'; import { CurrencyUnit, FeeDefaults } from '@airgap/coinlib-core/protocols/ICoinProtocol'; import { NonExtendedProtocol } from '@airgap/coinlib-core/protocols/NonExtendedProtocol'; import { ProtocolSymbols } from '@airgap/coinlib-core/utils/ProtocolSymbols'; import { SignedSubstrateTransaction } from '../types/signed-transaction-substrate'; import { RawSubstrateTransaction } from '../types/transaction-substrate'; import { UnsignedSubstrateTransaction } from '../types/unsigned-transaction-substrate'; import { SubstrateTransactionType } from './common/data/transaction/SubstrateTransaction'; import { SubstrateAccountId, SubstrateCompatAddressType } from './compat/SubstrateCompatAddress'; import { SubstrateCryptoClient } from './SubstrateCryptoClient'; import { SubstrateNetwork } from './SubstrateNetwork'; import { SubstrateProtocolOptions } from './SubstrateProtocolOptions'; import { SubstrateAddressCursor, SubstrateAddressResult, SubstrateTransactionCursor, SubstrateTransactionResult } from './SubstrateTypes'; export declare abstract class SubstrateProtocol extends NonExtendedProtocol implements ICoinProtocol { readonly options: SubstrateProtocolOptions; abstract symbol: string; abstract name: string; abstract marketSymbol: string; abstract feeSymbol: string; abstract decimals: number; abstract feeDecimals: number; abstract identifier: ProtocolSymbols; abstract feeDefaults: FeeDefaults; abstract units: CurrencyUnit[]; abstract standardDerivationPath: string; supportsHD: boolean; addressIsCaseSensitive: boolean; addressValidationPattern: string; addressPlaceholder: string; readonly cryptoClient: SubstrateCryptoClient; constructor(options: SubstrateProtocolOptions); getSymbol(): Promise; getName(): Promise; getMarketSymbol(): Promise; getAssetSymbol(): Promise; getFeeSymbol(): Promise; getDecimals(): Promise; getFeeDecimals(): Promise; getIdentifier(): Promise; getFeeDefaults(): Promise; getUnits(): Promise; getStandardDerivationPath(): Promise; getSupportsHD(): Promise; getAddressIsCaseSensitive(): Promise; getAddressValidationPattern(): Promise; getAddressPlaceholder(): Promise; getOptions(): Promise>; getBlockExplorerLinkForAddress(address: string): Promise; getBlockExplorerLinkForTxId(txId: string): Promise; getPublicKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise; getPrivateKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise; getPublicKeyFromHexSecret(secret: string, derivationPath: string): Promise; getPrivateKeyFromHexSecret(secret: string, derivationPath: string): Promise; getAddressFromPublicKey(publicKey: string, cursor?: SubstrateAddressCursor): Promise; getAddressesFromPublicKey(publicKey: string, cursor?: SubstrateAddressCursor): Promise; getTransactionsFromPublicKey(publicKey: string, limit: number, cursor?: SubstrateTransactionCursor): Promise; getTransactionsFromAddresses(addresses: string[], limit: number, cursor?: SubstrateTransactionCursor): Promise; signWithPrivateKey(privateKey: string, rawTransaction: RawSubstrateTransaction): Promise; getTransactionDetails(transaction: UnsignedSubstrateTransaction): Promise; getTransactionDetailsFromSigned(transaction: SignedSubstrateTransaction): Promise; getBalanceOfAddresses(addresses: string[]): Promise; getAvailableBalanceOfAddresses(addresses: string[]): Promise; getBalanceOfPublicKey(publicKey: string): Promise; getBalanceOfPublicKeyForSubProtocols(publicKey: string, subProtocols: ICoinSubProtocol[]): Promise; estimateMaxTransactionValueFromPublicKey(publicKey: string, _recipients: string[], fee?: string, data?: { excludeExistentialDeposit?: boolean; }): Promise; estimateFeeDefaultsFromPublicKey(publicKey: string, recipients: string[], values: string[], data?: any): Promise; prepareTransactionFromPublicKey(publicKey: string, recipients: string[], values: string[], fee: string, data?: { excludeExistentialDeposit?: boolean; }): Promise; broadcastTransaction(encoded: string): Promise; getFutureRequiredTransactions(accountId: SubstrateAccountId, intention: 'check' | 'transfer' | 'delegate'): Promise<[SubstrateTransactionType, any][]>; private getTransactionDetailsFromEncoded; signMessage(message: string, keypair: { publicKey: string; privateKey: string; }): Promise; verifyMessage(message: string, signature: string, publicKey: string): Promise; encryptAsymmetric(message: string, publicKey: string): Promise; decryptAsymmetric(message: string, keypair: { publicKey: string; privateKey: string; }): Promise; encryptAES(message: string, privateKey: string): Promise; decryptAES(message: string, privateKey: string): Promise; getTransactionStatuses(transactionHashes: string[]): Promise; }