/// <reference types="node" />
import { SubstrateNetwork } from '../../../SubstrateNetwork';
import { SCALEDecodeResult } from '../scale/SCALEDecoder';
import { SCALEClass } from '../scale/type/SCALEClass';
import { SCALEEnum } from '../scale/type/SCALEEnum';
import { SCALEHash } from '../scale/type/SCALEHash';
export declare enum SubstrateSignatureType {
    Ed25519 = 0,
    Sr25519 = 1,
    Ecdsa = 2
}
export declare class SubstrateSignature extends SCALEClass {
    readonly type: SCALEEnum<SubstrateSignatureType>;
    readonly signature: SCALEHash;
    static create(type: SubstrateSignatureType, signature?: string | Uint8Array | Buffer): SubstrateSignature;
    static decode(network: SubstrateNetwork, raw: string): SCALEDecodeResult<SubstrateSignature>;
    protected scaleFields: (SCALEHash | SCALEEnum<SubstrateSignatureType>)[];
    readonly isSigned: boolean;
    private constructor();
    toString(): string;
}
