import BigNumber from '../../../../../dependencies/src/bignumber.js-9.0.0/bignumber';
import { SubstrateNetwork } from '../../../SubstrateNetwork';
import { SCALEDecodeResult } from '../scale/SCALEDecoder';
import { SCALEClass } from '../scale/type/SCALEClass';
import { SCALECompactInt } from '../scale/type/SCALECompactInt';
import { SCALEEra } from '../scale/type/SCALEEra';
import { SCALEHash } from '../scale/type/SCALEHash';
import { SCALEInt } from '../scale/type/SCALEInt';
import { SubstrateTransactionMethod } from './method/SubstrateTransactionMethod';
import { SubstrateTransaction, SubstrateTransactionType } from './SubstrateTransaction';
interface PayloadConfig {
    lastHash: string;
    genesisHash: string;
    specVersion: number | BigNumber;
    transactionVersion: number | BigNumber;
}
export declare class SubstrateTransactionPayload extends SCALEClass {
    readonly method: SubstrateTransactionMethod;
    readonly era: SCALEEra;
    readonly nonce: SCALECompactInt;
    readonly tip: SCALECompactInt;
    readonly specVersion: SCALEInt;
    readonly transactionVersion: SCALEInt;
    readonly genesisHash: SCALEHash;
    readonly blockHash: SCALEHash;
    static create(transaction: SubstrateTransaction, config: PayloadConfig): SubstrateTransactionPayload;
    static decode(network: SubstrateNetwork, type: SubstrateTransactionType, hex: string): SCALEDecodeResult<SubstrateTransactionPayload>;
    protected readonly scaleFields: (SCALECompactInt | SCALEInt | SCALEEra | SCALEHash | SubstrateTransactionMethod)[];
    private constructor();
}
export {};
