import { HexInput, PrivateKeyVariants } from "../../types/index.js"; import { Hex } from "../hex.js"; import { PublicKey } from "./publicKey.js"; import { Signature } from "./signature.js"; /** * Represents a private key used for signing messages and deriving the associated public key. * @group Implementation * @category Serialization */ export interface PrivateKey { /** * Sign the given message with the private key to create a signature. * @param message - The message to be signed, provided in HexInput format. * @returns A Signature object representing the signed message. * @group Implementation * @category Serialization */ sign(message: HexInput): Signature; /** * Derive the public key associated with the private key. * @group Implementation * @category Serialization */ publicKey(): PublicKey; /** * Get the private key in bytes (Uint8Array). * @group Implementation * @category Serialization */ toUint8Array(): Uint8Array; } export declare class PrivateKey { /** * The AIP-80 compliant prefixes for each private key type. Append this to a private key's hex representation * to get an AIP-80 compliant string. * * [Read about AIP-80](https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-80.md) */ static readonly AIP80_PREFIXES: { ed25519: string; secp256k1: string; secp256r1: string; }; /** * Format a HexInput to an AIP-80 compliant string. * * [Read about AIP-80](https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-80.md) * * @param privateKey - The HexString or Uint8Array format of the private key. * @param privateKeyType - The private key type */ static formatPrivateKey(privateKey: HexInput, type: PrivateKeyVariants): string; /** * Parse a HexInput that may be a HexString, Uint8Array, or a AIP-80 compliant string to a Hex instance. * * [Read about AIP-80](https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-80.md) * * @param value - A HexString, Uint8Array, or a AIP-80 compliant string. * @param privateKeyType - The private key type * @param strict - If true, the value MUST be compliant with AIP-80. */ static parseHexInput(value: HexInput, type: PrivateKeyVariants, strict?: boolean): Hex; } //# sourceMappingURL=privateKey.d.ts.map