import { ec as EC } from 'elliptic'; declare const secp256k1: EC; import BN from 'bn.js'; import { PublicKey } from './key_public'; type ECPoint = ReturnType; /** * Constant-time buffer comparison to prevent timing attacks. * Returns true only if a.length === b.length and a[i] === b[i] for all i. */ export declare function constantTimeCompare(a: Buffer | Uint8Array, b: Buffer | Uint8Array): boolean; export declare class PrivateKey { d: BN; public_key?: PublicKey; /** * @private see static functions * @param {BN} d */ constructor(d: BN); static fromBuffer(buf: Buffer): PrivateKey; /** @arg {string} seed - any length string. This is private, the same seed produces the same private key every time. */ static fromSeed(seed: string): PrivateKey; static isWif(text: string): boolean; /** * @throws {AssertError|Error} parsing key * @return {string} Wallet Import Format (still a secret, Not encrypted) */ static fromWif(private_wif: string): PrivateKey; toWif(): string; /** Alias for {@link toWif} */ toString(): string; /** * @return {Point} */ toPublicKeyPoint(): ECPoint; toPublic(): PublicKey; toBuffer(): Buffer; /** ECIES */ get_shared_secret(public_key: PublicKey | string): Buffer; /** @throws {Error} - overflow of the key could not be derived */ child(offset: Buffer): PrivateKey; static fromHex(hex: string): PrivateKey; toHex(): string; toPublicKey(): PublicKey; } export {};