/// import BigNumber from '@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber'; import { SubstrateProtocolConfiguration } from '../../../types/configuration'; import { TypedSubstrateAddress } from '../../account/address/SubstrateAddressFactory'; import { SCALEDecodeResult } from '../SCALEDecoder'; import { SCALEAccountId } from './SCALEAccountId'; import { SCALEBytes } from './SCALEBytes'; import { SCALEHash } from './SCALEHash'; import { SCALEInt } from './SCALEInt'; import { SCALEEncodeConfig, SCALEType } from './SCALEType'; export declare enum SCALEMultiAddressType { Id = 0, Index = 1, Raw = 2, Address32 = 3, Address20 = 4 } declare type SCALEMultiAddressValue = T extends SCALEMultiAddressType.Id ? SCALEAccountId : T extends SCALEMultiAddressType.Index ? SCALEInt : T extends SCALEMultiAddressType.Raw ? SCALEBytes : T extends SCALEMultiAddressType.Address32 ? SCALEHash : T extends SCALEMultiAddressType.Address20 ? SCALEHash : never; export declare class SCALEMultiAddress extends SCALEType { readonly type: T; readonly value: SCALEMultiAddressValue; static isOfType(multiAddress: SCALEMultiAddress, type: T): multiAddress is SCALEMultiAddress; static from(value: number | string | BigNumber, type: SCALEMultiAddressType.Index, configuration: C): SCALEMultiAddress; static from, C extends SubstrateProtocolConfiguration>(value: string | Uint8Array | Buffer | TypedSubstrateAddress, type: T, configuration: C): SCALEMultiAddress; static decode(configuration: C, hex: string, type?: T, runtimeVersion?: number): SCALEDecodeResult>; private constructor(); toString(): string; asAddress(): string; asBytes(): Buffer; protected _encode(config?: SCALEEncodeConfig): string; } export {};