import TypedEmitter from 'typed-emitter';
import { ConfirmedTimelineEvent, RemoteTimelineEvent } from './types';
import { ChunkedMedia, EncryptedData, Snapshot, SpacePayload_Snapshot } from '@river-build/proto';
import { StreamEncryptionEvents, StreamEvents, StreamStateEvents } from './streamEvents';
import { StreamStateView_AbstractContent } from './streamStateView_AbstractContent';
import { DecryptedContent } from './encryptedContentTypes';
export type ParsedChannelProperties = {
    isDefault: boolean;
    updatedAtEventNum: bigint;
    isAutojoin: boolean;
    hideUserJoinLeaveEvents: boolean;
};
export declare class StreamStateView_Space extends StreamStateView_AbstractContent {
    readonly streamId: string;
    readonly spaceChannelsMetadata: Map<string, ParsedChannelProperties>;
    private spaceImage;
    encryptedSpaceImage: {
        eventId: string;
        data: EncryptedData;
    } | undefined;
    private decryptionInProgress;
    constructor(streamId: string);
    applySnapshot(eventHash: string, _snapshot: Snapshot, content: SpacePayload_Snapshot, _cleartexts: Record<string, Uint8Array | string> | undefined, _encryptionEmitter: TypedEmitter<StreamEncryptionEvents> | undefined): void;
    onConfirmedEvent(_event: ConfirmedTimelineEvent, _emitter: TypedEmitter<StreamEvents> | 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;
    getSpaceImage(): Promise<ChunkedMedia | undefined>;
    private decryptSpaceImage;
    private addSpacePayload_UpdateChannelAutojoin;
    private addSpacePayload_UpdateChannelHideUserJoinLeaveEvents;
    private addSpacePayload_Channel;
    onDecryptedContent(_eventId: string, _content: DecryptedContent, _stateEmitter: TypedEmitter<StreamStateEvents> | undefined): void;
}
//# sourceMappingURL=streamStateView_Space.d.ts.map