/**
 * Generate a new Ed25519 keypair.
 * Returns hex-encoded raw 32-byte seed (private) and 32-byte public key.
 */
export declare function generateEd25519Keypair(): {
    publicKeyHex: string;
    privateKeyHex: string;
};
/**
 * Sign arbitrary license data with an Ed25519 private key.
 *
 * Output format: base64url(JSON payload) + '.' + base64url(signature)
 * This is NOT a JWT — it is a simple two-part signed token.
 */
export declare function signLicenseData(data: Record<string, unknown>, privateKeyHex: string): string;
/**
 * Verify an Ed25519-signed license token and return the payload if valid.
 *
 * Returns null if:
 * - Token format is invalid (no dot separator)
 * - Signature verification fails
 * - Payload is not valid JSON
 */
export declare function verifyLicenseSignature(signed: string, publicKeyHex: string): Record<string, unknown> | null;
export declare function signToken(payload: Record<string, unknown>, sessionSecret: string, expiresInMs: number): string;
export declare function verifyToken<T extends Record<string, unknown>>(token: string, sessionSecret: string): T | null;
export declare function hashKey(key: string): string;
