/** * ADR-386 — public and private swarm channels, client side. * * Channel keys live HERE, never on the gateway. A private channel is a 32-byte * key you generate; messages are NIP-44 v2 ciphertext under it, and the channel * id (`prv:<16 hex>`) is derived from the key so the name never reaches the wire. * You grant access by sealing the key to a member's pubkey (ECDH), which only * they can open. The gateway relays ciphertext and cannot decrypt it. * * `nostr-tools` is an optional dependency; every tool degrades with an install * hint rather than throwing at load. */ import type { MCPTool } from './types.js'; export declare const CHANNEL_NAME_RE: RegExp; export declare const CHANNEL_ID_RE: RegExp; /** Locally cached channel keys, 0600. Losing this file loses the channels in it — by design. */ export type ChannelStore = Record; export declare function readStore(file?: string): ChannelStore; export declare function writeStore(store: ChannelStore, file?: string): void; export declare function publicChannelId(name: string): string; export declare function privateChannelId(keyHex: string): string; export declare function newChannelKey(): string; export declare function isPrivateChannel(id: string): boolean; export declare const xFederationChannelTools: MCPTool[]; //# sourceMappingURL=x-federation-channels.d.ts.map