import { CountFilter, CountOptions, CountResult } from '@napplet/core'; /** * Napplet NAP count shim entrypoint. * * @module */ /** * Handle count.* messages from the shell via the central message listener. * * @param msg The shell envelope to route */ declare function handleCountMessage(msg: { type: string; [key: string]: unknown; }): void; /** * Ask the runtime to count events matching NIP-01 filters. * * Multiple filters are sent as one non-empty filter array. The runtime preserves * NIP-45 OR semantics and returns count metadata, never matching event payloads. * * @param filters One NIP-01 filter or a non-empty array of filters * @param options Optional approximation and HyperLogLog hints * @returns Promise resolving to the runtime count result * * @example * ```ts * const result = await query({ kinds: [7], '#e': [eventId] }); * ``` */ declare function query(filters: CountFilter | CountFilter[], options?: CountOptions): Promise; /** * Install the count shim. Registration-only -- count requests are sent on demand. * * @returns cleanup function that clears pending requests */ declare function installCountShim(): () => void; export { handleCountMessage, installCountShim, query };