import { Hotkey } from '@app/config/hotkey' ; import { GameEvent , InfoUpdatesEvent , RunningGameInfo } from '@app/odk' ; import { Feature } from './feature' ; import { FeatureConfig } from './feature-config' ; import { FeatureSettings } from './feature-settings' ; export interface FeatureModule < TSettings extends FeatureSettings > { getConfig ( ) : FeatureConfig < TSettings > ; getFeatures ( ) : Feature [ ] ; onKeyPressed ? ( hotkey , settings ) : void ; onSettingsChange ? ( settings ) : void ; onGameEvent ? ( event , settings ) : void ; onInfo ? ( info , settings ) : void ; onLogLineAdd ? ( line ) : void ; }