import { ec as EC } from 'elliptic'; declare const secp256k1: EC; type ECPoint = ReturnType; export declare class PublicKey { Q: ECPoint | null; pubdata?: string; /** @param {Point} public key */ constructor(Q: ECPoint | null); static fromBinary(bin: string): PublicKey; static fromBuffer(buffer: Buffer): PublicKey; toBuffer(compressed?: boolean): Buffer; static fromPoint(point: ECPoint): PublicKey; toUncompressed(): PublicKey; /** bts::blockchain::address (unique but not a full public key) */ toBlockchainAddress(): Buffer; toString(address_prefix?: string | undefined): string; /** * Full public key * {return} string */ toPublicKeyString(address_prefix?: string | undefined): string; /** * @arg {string} public_key - like STMXyz... * @arg {string} address_prefix - like STM * @return PublicKey or `null` (if the public_key string is invalid) * @deprecated fromPublicKeyString (use fromString instead) */ static fromString(public_key: string, address_prefix?: string | undefined): PublicKey | null; /** * @arg {string} public_key - like STMXyz... * @arg {string} address_prefix - like STM * @throws {Error} if public key is invalid * @return PublicKey */ static fromStringOrThrow(public_key: string, address_prefix?: string | undefined): PublicKey; toAddressString(address_prefix?: unknown): string; toPtsAddy(): string; child(offset: Buffer): PublicKey; static fromHex(hex: string): PublicKey; toHex(): string; static fromStringHex(hex: string): PublicKey; } export {};