import type { NostrEvent, TaggedNostrEvent, OkResponse } from "./nostr"; import type { RelaySettings } from "./connection"; import type { RequestBuilder } from "./request-builder"; import { TraceTimeline } from "./trace-timeline"; import { ProfileLoaderService, type SystemInterface, type SystemSnapshot, type QueryLike, type SystemConfig } from "."; import { RelayMetadataLoader } from "./outbox"; import { type ConnectionPool } from "./connection-pool"; import type { RequestRouter } from "./request-router"; import { SystemBase } from "./system-base"; /** * Manages nostr content retrieval system */ export declare class NostrSystem extends SystemBase implements SystemInterface { #private; readonly profileLoader: ProfileLoaderService; readonly pool: ConnectionPool; readonly relayLoader: RelayMetadataLoader; readonly requestRouter: RequestRouter | undefined; readonly traceTimeline: TraceTimeline; constructor(props: Partial); Init(follows?: Array): Promise; PreloadSocialGraph(follows?: Array, root?: string): Promise; ConnectToRelay(address: string, options: RelaySettings): Promise; ConnectEphemeralRelay(address: string): Promise; DisconnectRelay(address: string): void; GetQuery(id: string): QueryLike | undefined; Fetch(req: RequestBuilder, cb?: (evs: Array) => void): Promise; FetchAll(): Promise; Query(req: RequestBuilder): QueryLike; HandleEvent(subId: string, ev: TaggedNostrEvent): void; BroadcastEvent(ev: NostrEvent, cb?: (rsp: OkResponse) => void): Promise; WriteOnceToRelay(address: string, ev: NostrEvent): Promise; takeSnapshot(): SystemSnapshot; hydrateQuery(id: string, events: Array): void; getHydrationData(): Record>; } //# sourceMappingURL=nostr-system.d.ts.map