import TypedEmitter from 'typed-emitter';
import { ConfirmedTimelineEvent, RemoteTimelineEvent } from './types';
import { Snapshot, UserInboxPayload_Snapshot, UserInboxPayload_Snapshot_DeviceSummary } from '@river-build/proto';
import { StreamStateView_AbstractContent } from './streamStateView_AbstractContent';
import { StreamEncryptionEvents, StreamStateEvents } from './streamEvents';
export declare class StreamStateView_UserInbox extends StreamStateView_AbstractContent {
    readonly streamId: string;
    deviceSummary: Record<string, UserInboxPayload_Snapshot_DeviceSummary>;
    constructor(streamId: string);
    applySnapshot(snapshot: Snapshot, content: UserInboxPayload_Snapshot, _emitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
    onConfirmedEvent(event: ConfirmedTimelineEvent, emitter: TypedEmitter<StreamStateEvents> | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
    prependEvent(event: RemoteTimelineEvent, _cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, _stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
    appendEvent(event: RemoteTimelineEvent, _cleartext: Uint8Array | string | undefined, encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined, stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
    private addGroupSessions;
    private updateDeviceSummary;
}
//# sourceMappingURL=streamStateView_UserInbox.d.ts.map