import { RdfDereferencer } from "rdf-dereference"; import type { Term } from "@rdfjs/types"; import type { Config } from "./config.js"; import type { Ordered } from "./strategy/index.js"; import type { LDESInfo, FetchedPage, Member } from "./fetcher/index.js"; type EventMap = Record; type EventKey = string & keyof T; type EventReceiver = (params: T) => void; export { enhanced_fetch } from "./fetcher/index.js"; export { intoConfig } from "./config.js"; export * from "./condition/index.js"; export type { Ordered } from "./strategy/index.js"; export type ClientEvents = { fragment: FetchedPage; description: LDESInfo; mutable: void; poll: void; error: unknown; }; export declare function replicateLDES(config: Partial & { url: string; }, ordered?: Ordered, dereferencer?: RdfDereferencer, streamId?: Term): Client; export declare class Client { memberCount: number; fragmentCount: number; streamId?: Term; private config; private dereferencer; private fetcher; private memberManager; private strategy; private ordered; private closed; private modulatorFactory; private clientStateManager; private listeners; private logger; constructor(config: Config, ordered?: Ordered, dereferencer?: RdfDereferencer, stream?: Term); on>(key: K, fn: EventReceiver): void; init(streamOut: (member: Member) => boolean, close: () => void): Promise; stream(strategy?: { highWaterMark?: number; size?: (chunk: Member) => number; }): ReadableStream; private emit; close(): Promise; }