import { type PeerId } from "@libp2p/interface"; interface Key { equals(other: Key): boolean; get bytes(): Uint8Array; hashcode(): string; toString(): string; _hashcode: string; } export declare abstract class Keypair { abstract get publicKey(): PublicSignKey | PublicKeyEncryptionKey; equals(other: Keypair): boolean; toPeerId(): PeerId; } export interface PublicSignKey extends Key { } export declare abstract class PublicSignKey implements Key { private _bytes; get bytes(): Uint8Array; hashcode(): string; toPeerId(): PeerId; } export interface PrivateSignKey extends Key { } export declare abstract class PrivateSignKey implements Key { get bytes(): Uint8Array; hashcode(): string; } export interface PublicKeyEncryptionKey extends Key { } export declare abstract class PublicKeyEncryptionKey implements Key { get bytes(): Uint8Array; hashcode(): string; } export interface PrivateEncryptionKey extends Key { } export declare abstract class PrivateEncryptionKey implements Key { get bytes(): Uint8Array; hashcode(): string; } export interface PlainKey extends Key { } export declare abstract class PlainKey implements Key { get bytes(): Uint8Array; hashcode(): string; } export declare class ByteKey extends PlainKey { key: Uint8Array; constructor(properties: { key: Uint8Array; }); equals(other: ByteKey): boolean; toString(): string; } export {}; //# sourceMappingURL=key.d.ts.map