import { Event, Filter, type Sub, type SubscriptionOptions } from 'nostr-tools'; import { type PubPool } from './types'; export declare class NostrClient { private pool; private relays; constructor(relays: string[], options?: { eoseSubTimeout?: number; getTimeout?: number; }); addRelays(relays: string[]): void; addRelay(relay: string): void; removeRelays(relays: string[]): void; removeRelay(relay: string): void; get(filter: Filter, opts?: SubscriptionOptions): Promise | null>; list(filters: Filter[], opts?: SubscriptionOptions): Promise[]>; publish(event: Event): PubPool; sub(filters: Filter[], onEventFn?: (element: Event) => void, opts?: SubscriptionOptions): Sub; disconnect(): void; }