togezr
Version:
Better together_
33 lines • 1.18 kB
TypeScript
import { TChannel, TChannelType } from '../interfaces/TChannel';
import { ISessionEvent } from '../sessionConnectors/renderer/events';
declare type TPrimitive = string | number | boolean;
export interface IChannelMementoRecord {
timestamp: number;
events: ISessionEvent[];
sessionId?: string;
data?: {
[key: string]: TPrimitive;
};
}
export declare class ChannelSession {
channel: TChannel;
siblingChannels: ChannelSession[];
sessionId?: string | undefined;
events: ISessionEvent[];
isDisposed: boolean;
private heartbeatInterval;
private id;
private mementoRecordExpirationThreshold;
type: TChannelType | 'generic';
private getMementoId;
constructor(channel: TChannel, siblingChannels: ChannelSession[], sessionId?: string | undefined);
readExistingRecord(): IChannelMementoRecord | null;
deleteExistingRecord: () => void;
init: () => Promise<void>;
onEvent(e: ISessionEvent): Promise<void>;
onPersistData: (record: IChannelMementoRecord) => IChannelMementoRecord;
persistData: () => void;
dispose: () => Promise<void>;
}
export {};
//# sourceMappingURL=ChannelSession.d.ts.map