import type { AgoraMessage, AgoraVerification, AgoraFeed, AgoraAgent, AgoraRegistry } from '../types/agora.js'; export declare function createAgoraMessage(opts: { agentId: string; agentName: string; publicKey: string; privateKey: string; topic: string; type: AgoraMessage['type']; subject: string; content: string; replyTo?: string; }): AgoraMessage; /** * Verify an agora message. * * Two independent predicates, reported separately and both folded into the * verdict: * * signatureValid — the Ed25519 signature verifies under the public key the * message carries. A structural fact about the bytes, not about who the * author is: the key is supplied by the object being verified. * knownAgent — the author's key appears in the registry the caller * supplied. This is the identity check, and it only runs when a registry * is passed (`registryChecked` says whether it did). * * `valid` is true only when every check that ran, passed. It was previously * set to signatureValid alone, so a message from an author absent from the * registry came back valid with 'Author not found in agent registry' sitting * in its own errors array. * * With no registry, `valid` is a signature-only verdict. It does not mean the * author is a known participant; nothing checked that. */ export declare function verifyAgoraMessage(message: AgoraMessage, registry?: AgoraRegistry): AgoraVerification; export declare function createFeed(): AgoraFeed; export declare function appendToFeed(feed: AgoraFeed, message: AgoraMessage): AgoraFeed; export declare function getThread(feed: AgoraFeed, messageId: string): AgoraMessage[]; export declare function getByTopic(feed: AgoraFeed, topic: string): AgoraMessage[]; export declare function getByAuthor(feed: AgoraFeed, publicKey: string): AgoraMessage[]; export declare function getTopics(feed: AgoraFeed): { topic: string; count: number; }[]; export declare function createRegistry(): AgoraRegistry; export declare function registerAgent(registry: AgoraRegistry, agent: AgoraAgent): AgoraRegistry; export declare function verifyFeed(feed: AgoraFeed, registry?: AgoraRegistry): { total: number; valid: number; invalid: string[]; }; //# sourceMappingURL=agora.d.ts.map