import type { Instance as SimplePeerInstance } from 'simple-peer'; import { SimplePeerConfig, SimplePeerWrtc } from '../replication-webrtc/connection-handler-simple-peer'; import { DriveStructure } from './init.ts'; import type { OneDriveState } from './microsoft-onedrive-types.ts'; export type SignalingOptions = { wrtc?: SimplePeerWrtc; config?: SimplePeerConfig; }; export type SIGNAL = 'RESYNC' | 'NEW_PEER'; export declare class SignalingState { private oneDriveState; private init; private signalingOptions; readonly sessionId: string; readonly processedMessageIds: Set; /** * Emits whenever a new connection * is there or some connection * told us to RESYNC */ private _resync$; resync$: import("rxjs").Observable; peerBySenderId: Map; private processQueue; private backoffStepId; private skipBackoffTime?; closed: boolean; resetReaderFn: () => void; constructor(oneDriveState: OneDriveState, init: DriveStructure, signalingOptions: SignalingOptions); sendMessage(data: any): Promise; pingPeers(message: SIGNAL): Promise; resetReadLoop(): Promise; processNewMessages(): Promise; _processNewMessages(): Promise; close(): void; } export declare function readMessages(oneDriveState: OneDriveState, init: DriveStructure, processedMessageIds: Set): Promise<{ senderId: string; data: any; }[]>; export declare function cleanupOldSignalingMessages(oneDriveState: OneDriveState, signalingFolderId: string, maxAgeMs?: number): Promise;