import { Serializable } from '../../bcs/serializer.mjs';
import '../hex.mjs';
import '../common.mjs';
import '../../types/index.mjs';
import '../../utils/apiEndpoints.mjs';
import '../../types/indexer.mjs';
import '../../types/generated/operations.mjs';
import '../../types/generated/types.mjs';

/**
 * An abstract representation of a crypto signature,
 * associated to a specific signature scheme e.g. Ed25519 or Secp256k1
 *
 * This is the product of signing a message directly from a PrivateKey
 * and can be verified against a CryptoPublicKey.
 */
declare abstract class Signature extends Serializable {
    /**
     * Get the raw signature bytes
     */
    abstract toUint8Array(): Uint8Array;
    /**
     * Get the signature as a hex string with a 0x prefix e.g. 0x123456...
     */
    toString(): string;
}

export { Signature };
