/// import { SCALEDecodeResult } from '../common/data/scale/SCALEDecoder'; import { SubstrateSignature, SubstrateSignatureType } from '../common/data/transaction/SubstrateSignature'; import { MoonbeamSignature } from '../moonbeam/data/transaction/MoonbeamSignature'; import { SubstrateNetwork } from '../SubstrateNetwork'; export interface SubstrateSignatureFactory { create(type: SubstrateSignatureType, signature?: string | Uint8Array | Buffer): SubstrateCompatSignatureType[Network]; decode(network: Network, runtimeVersion: number | undefined, raw: string): SCALEDecodeResult; } export interface SubstrateCompatSignatureType extends Record { [SubstrateNetwork.POLKADOT]: SubstrateSignature; [SubstrateNetwork.KUSAMA]: SubstrateSignature; [SubstrateNetwork.MOONBEAM]: MoonbeamSignature; } export declare function substrateSignatureFactory(substrateNetwork: Network): SubstrateSignatureFactory;