export interface TwitchExtLike { onAuthorized(callback: (auth: { token: string; userId: string }) => void): void; onContext(callback: (context: Record) => void): void; onVisibilityChanged(callback: (isVisible: boolean, context: unknown) => void): void; listen(topic: string, callback: (target: string, contentType: string, message: string) => void): void; } export const twitchExtMock: TwitchExtLike = { onAuthorized(callback) { callback({ token: 'mock.jwt.token', userId: 'U_mock_viewer' }); }, onContext(callback) { callback({ theme: 'dark' }); }, onVisibilityChanged(callback) { callback(true, {}); }, listen(_topic, _callback) { // No-op in local mock mode. } };