@towns-protocol/sdk
Version:
For more details, visit the following resources:
25 lines • 1.54 kB
TypeScript
import { Observable } from '../../observable/observable';
import { TimelineEvent, RiverTimelineEvent } from '../models/timelineTypes';
import { LocalTimelineEvent, StreamTimelineEvent } from '../../types';
import { TimelinesViewInterface, TimelinesViewModel } from './timelinesModel';
import { StreamChange } from '../../streamEvents';
import { DecryptedContent } from '../../encryptedContentTypes';
import { DecryptionSessionError } from '../../decryptionExtensions';
export interface TimelinesViewDelegate {
isDMMessageEventBlocked(event: TimelineEvent): boolean;
}
export declare class TimelinesView extends Observable<TimelinesViewModel> {
readonly userId: string;
readonly delegate: TimelinesViewDelegate | undefined;
readonly eventFilter: Set<RiverTimelineEvent>;
readonly streamIds: Set<string>;
readonly setState: TimelinesViewInterface;
constructor(userId: string, delegate: TimelinesViewDelegate | undefined, eventFilter?: Set<RiverTimelineEvent>);
streamInitialized(streamId: string, messages: StreamTimelineEvent[]): void;
streamUpdated(streamId: string, change: StreamChange): void;
streamEventDecrypted(streamId: string, eventId: string, decryptedContent: DecryptedContent): TimelineEvent | undefined;
streamEventDecryptedContentError(streamId: string, eventId: string, error: DecryptionSessionError): void;
streamLocalEventUpdated(streamId: string, localEventId: string, localEvent: LocalTimelineEvent): void;
private filterFn;
}
//# sourceMappingURL=timelines.d.ts.map