import { ServiceChannel } from '../serviceChannel'; import { PeerTransport, PeerConnection } from '../transport'; import type { PeerLogger } from '../logger'; import type { PeerEmitter, PeerReceiveEmitter } from '../emitter'; import { InternalPluginsType, serberWithPlugins } from '../serber'; import type { PeerChunk } from '../chunk'; import { PeerReceive } from './receiveType'; import { SYMBOL_PEER_SCOPE } from '../const'; import { PeerScope } from './peerScope'; export interface PeerParams { name?: string; logger?: PeerLogger; } export declare class Peer { [SYMBOL_PEER_SCOPE]: PeerScope; private _params; private _logger; private _connection; private _serberInstance; private _serviceChannel; private _receiveEmitter; private _emitter; constructor(params?: PeerParams); get params(): PeerParams; get logger(): PeerLogger; get serberInstance(): import("@berish/serber").Serber; get receiveEmitter(): PeerReceiveEmitter; get emitter(): PeerEmitter; get serviceChannel(): ServiceChannel; get connection(): PeerConnection; set connection(value: PeerConnection); setLogger(logger: PeerLogger): this; start(transport: PeerTransport): Promise; stop(): Promise; setSerber(callback: (internalPlugins: InternalPluginsType) => typeof serberWithPlugins): this; receive(path: string, listener: PeerReceive): string; unreceive(receiveHash: string): void; unreceiveAll(): void; send(outcomeChunk: PeerChunk): Promise>; } //# sourceMappingURL=peer.d.ts.map