import { type P2pPeerIdentity } from "../protocol/P2pIdentityProtocol.js"; export { p2pInstanceIdSchema, p2pPeerIdentitySchema, p2pPublicKeySchema, type P2pPeerIdentity, } from "../protocol/P2pIdentityProtocol.js"; export declare const p2pSecretSeedSchema: import("@sinclair/typebox").TString; export interface P2pInstanceIdentity extends P2pPeerIdentity { decryptFrom(encrypted: P2pEncryptedMessage, senderPublicKey: string): Uint8Array; encryptFor(message: Uint8Array, recipientPublicKey: string): P2pEncryptedMessage; exportPrivateKeyPkcs8(): Uint8Array; sign(message: Uint8Array): string; } export interface P2pEncryptedMessage { ciphertext: string; nonce: string; } export declare function createP2pInstanceIdentity(instanceId?: string, secretSeed?: Uint8Array): P2pInstanceIdentity; export declare function p2pEncryptionPublicKey(publicKey: string): string; export declare function verifyP2pSignature(message: Uint8Array, signature: string, publicKey: string): boolean; export declare function encodeBase64Url(bytes: Uint8Array): string; export declare function decodeBase64Url(value: string): Uint8Array;