import { Subject } from 'rxjs'; import type { GroupChatClosedEvent } from '../events/GroupChatClosedEvent'; import type { NewObjectEvent } from '../events/NewObjectEvent'; import type { ObjectUpdatedEvent } from '../events/ObjectUpdatedEvent'; import type { ObjectKilledEvent } from '../events/ObjectKilledEvent'; import type { SelectedObjectEvent } from '../events/SelectedObjectEvent'; import type { ChatEvent } from '../events/ChatEvent'; import type { InstantMessageEvent } from '../events/InstantMessageEvent'; import type { GroupInviteEvent } from '../events/GroupInviteEvent'; import type { FriendRequestEvent } from '../events/FriendRequestEvent'; import type { InventoryOfferedEvent } from '../events/InventoryOfferedEvent'; import type { LureEvent } from '../events/LureEvent'; import type { TeleportEvent } from '../events/TeleportEvent'; import type { DisconnectEvent } from '../events/DisconnectEvent'; import type { GroupChatEvent } from '../events/GroupChatEvent'; import type { GroupNoticeEvent } from '../events/GroupNoticeEvent'; import type { GroupChatSessionJoinEvent } from '../events/GroupChatSessionJoinEvent'; import type { GroupChatSessionAgentListEvent } from '../events/GroupChatSessionAgentListEvent'; import type { FriendResponseEvent } from '../events/FriendResponseEvent'; import type { ScriptDialogEvent } from '../events/ScriptDialogEvent'; import type { EventQueueStateChangeEvent } from '../events/EventQueueStateChangeEvent'; import type { FriendOnlineEvent } from '../events/FriendOnlineEvent'; import type { FriendRightsEvent } from '../events/FriendRightsEvent'; import type { FriendRemovedEvent } from '../events/FriendRemovedEvent'; import type { ObjectPhysicsDataEvent } from '../events/ObjectPhysicsDataEvent'; import type { ParcelPropertiesEvent } from '../events/ParcelPropertiesEvent'; import type { ObjectResolvedEvent } from '../events/ObjectResolvedEvent'; import type { Avatar } from './public/Avatar'; import type { BulkUpdateInventoryEvent } from '../events/BulkUpdateInventoryEvent'; import type { InventoryResponseEvent } from '../events/InventoryResponseEvent'; import type { LandStatsEvent } from '../events/LandStatsEvent'; import type { SimStatsEvent } from '../events/SimStatsEvent'; import type { BalanceUpdatedEvent } from '../events/BalanceUpdatedEvent'; import { FilterResponse } from '../enums/FilterResponse'; import type { UUID } from './UUID'; export declare class ClientEvents { onNearbyChat: Subject; onInstantMessage: Subject; onGroupInvite: Subject; onFriendRequest: Subject; onInventoryOffered: Subject; onLure: Subject; onTeleportEvent: Subject; onDisconnected: Subject; onCircuitLatency: Subject; onGroupChat: Subject; onGroupChatClosed: Subject; onGroupNotice: Subject; onGroupChatSessionJoin: Subject; onGroupChatAgentListUpdate: Subject; onFriendResponse: Subject; onInventoryResponse: Subject; onScriptDialog: Subject; onEventQueueStateChange: Subject; onFriendOnline: Subject; onFriendRights: Subject; onFriendRemoved: Subject; onPhysicsDataEvent: Subject; onParcelPropertiesEvent: Subject; onNewObjectEvent: Subject; onObjectUpdatedEvent: Subject; onObjectUpdatedTerseEvent: Subject; onObjectKilledEvent: Subject; onSelectedObjectEvent: Subject; onObjectResolvedEvent: Subject; onAvatarEnteredRegion: Subject; onRegionTimeDilation: Subject; onBulkUpdateInventoryEvent: Subject; onLandStatReplyEvent: Subject; onSimStats: Subject; onBalanceUpdated: Subject; onScriptRunningReply: Subject<{ ItemID: UUID; Mono: boolean; ObjectID: UUID; Running: boolean; }>; waitForEvent(subj: Subject, messageFilter?: (message: T) => FilterResponse, timeout?: number): Promise; }