import { Bytes, PublicKey } from '@greymass/eosio'; import { IProtonLinkSessionManagerSessionExtended } from '@/types'; import { ProtonLinkSessionManagerSession } from './session'; import { ProtonLinkSessionManagerStorage } from './storage'; export interface ProtonLinkSessionManagerEventHander { onIncomingRequest(payload: string, session: IProtonLinkSessionManagerSessionExtended): void; onSocketEvent?(type: string, event: any): void; } export interface ProtonLinkSessionManagerOptions { handler: ProtonLinkSessionManagerEventHander; storage: ProtonLinkSessionManagerStorage; } export declare class ProtonLinkSessionManager { private handler; storage: ProtonLinkSessionManagerStorage; private socket?; constructor(options: ProtonLinkSessionManagerOptions); addSession(session: ProtonLinkSessionManagerSession): void; clearSessions(): void; removeSession(session: ProtonLinkSessionManagerSession): void; updateLastUsed(publicKey: PublicKey): void; connect(): Promise; disconnect(): Promise; handleRequest(encoded: Bytes): string; }