import { PublicKey } from './PublicKey' /** * @class PrivateKey - A class that represents a private key. */ export declare class PrivateKey { /** * Generates a new private key from a hexadecimal string. * * @static * @method fromHex * @param {string} hex - The hexadecimal string representing the private key. * @returns {PrivateKey} - A new instance of PrivateKey. */ static fromHex(hex: string): PrivateKey private readonly data /** * The public key derived from the private key. * * @property {PublicKey} publicKey - The public key that corresponds to this private key. */ readonly publicKey: PublicKey /** * Retrieves the secret key as a Uint8Array. * * @property {Uint8Array} secret - The secret key in byte array format. * @returns {Uint8Array} - The secret key as a byte array (Uint8Array). */ get secret(): Uint8Array /** * Converts the secret key to a hexadecimal string. * * @property {string} secretToHex - The secret key in hexadecimal format. * @returns {string} - The hexadecimal representation of the secret key. */ get secretToHex(): string /** * Constructor for the PrivateKey class. * * @constructor * @param {Uint8Array} [secret] - Optional secret key in Uint8Array format. If not provided, a valid secret will be generated. * @throws {Error} If the secret key is invalid. */ constructor(secret?: Uint8Array) /** * Encapsulates the private key with the given public key to derive a shared secret. * * @method encapsulate * @param {PublicKey} pk - The public key to use for encapsulation. * @returns {Uint8Array} - The derived shared secret. */ encapsulate(pk: PublicKey): Uint8Array /** * Multiplies the private key with the given public key to derive a shared point. * * @method multiply * @param {PublicKey} pk - The public key to multiply with. * @param {boolean} [compressed=false] - Whether the public key is in compressed format. * @returns {Uint8Array} - The derived shared point. */ multiply(pk: PublicKey, compressed?: boolean): Uint8Array /** * Validates whether the given secret key is valid. * * @method validateSecret * @param {Uint8Array} secret - The secret key to validate. * @returns {boolean} - True if the secret key is valid, otherwise false. */ private validateSecret /** * Generates a valid secret key. * * @method getValidSecret * @returns {Uint8Array} - A valid secret key. */ private getValidSecret /** * Derives the public key associated with the given private key. * * @method getPublicKey * @param {Uint8Array} secret - The private key to derive the public key from. * @returns {Uint8Array} - The corresponding public key. */ private getPublicKey } //# sourceMappingURL=PrivateKey.d.ts.map