import { GlobalUserState } from "../message/twitch-types/globaluserstate.mjs"; import { UserState } from "../message/twitch-types/userstate.mjs"; import { ChatClient } from "../client/client.mjs"; import { ClientMixin } from "./base-mixin.mjs"; import EventEmitter from "eventemitter3"; //#region src/mixins/userstate-tracker.d.ts interface UserStateTrackerEvents { newGlobalState: (newState: GlobalUserState) => void; newChannelState: (channelLogin: string, newState: UserState) => void; } /** * Tracks the state of the logged in user (the bot) in all channels the bot operates in */ declare class UserStateTracker extends EventEmitter implements ClientMixin { globalState?: GlobalUserState; channelStates: Record; private readonly client; constructor(client: ChatClient); getChannelState(channelName: string): UserState | undefined; getGlobalState(): GlobalUserState | undefined; applyToClient(client: ChatClient): void; private onUserstateMessage; private onGlobaluserstateMessage; private onPrivmsgMessage; } //#endregion export { UserStateTracker, UserStateTrackerEvents }; //# sourceMappingURL=userstate-tracker.d.mts.map