///
import { Buffer } from "buffer";
import { Client } from "@lumeweb/libkernel-universal";
import { ErrTuple } from "@siaweb/libweb";
import type { eventNS, event, ListenerFn, OnOptions, Listener } from "eventemitter2";
export declare class SwarmClient extends Client {
private useDefaultSwarm;
private id;
private _autoReconnect;
private _connectBackoff;
private _ready?;
private _connectionListener?;
private _topics;
private _sockets;
get dht(): {
ready(): Promise;
};
constructor(useDefaultDht?: boolean, autoReconnect?: boolean);
get swarm(): number | undefined;
connect(pubkey: string | Uint8Array): Promise;
init(): Promise;
ready(): Promise;
start(): Promise;
private _listen;
addRelay(pubkey: string): Promise;
removeRelay(pubkey: string): Promise;
clearRelays(): Promise;
getRelays(): Promise;
join(topic: Buffer | Uint8Array | string): Promise;
}
export declare class Socket extends Client {
private id;
private eventUpdates;
private syncMutex;
private swarm;
private userData?;
constructor(id: number, swarm: SwarmClient);
private _remotePublicKey?;
get remotePublicKey(): Uint8Array;
private _rawStream?;
get rawStream(): Uint8Array;
setup(): Promise;
on(event: event | eventNS, listener: ListenerFn, options?: boolean | OnOptions): this | Listener;
off(event: event | eventNS, listener: ListenerFn): this;
write(message: string | Buffer): void;
end(): void;
private ensureEvent;
private trackEvent;
}
export declare const MODULE = "_AVKgzVYC8Sb_qiTA6kw5BDzQ4Ch-8D4sldQJl8dXF9oTw";
export declare const createClient: (...args: any) => SwarmClient;
//# sourceMappingURL=index.d.ts.map