import { Ports, Cartridge, Settings } from '../../elm/Stellerator/Main.elm'; import Storage from './Storage'; declare class Emulation { private _storage; constructor(_storage: Storage); init(ports: Ports): void; updateCartridge(cartridge: Cartridge): Promise; updateSettings(settings: Settings): Promise; private static _onEmulationStateChange; private static _onFrequencyChange; private _startEmulation; private _stopEmulation; private _pauseEmulation; private _resumeEmulation; private _resetEmulation; private _updateConsoleSwitches; private _createAndBindVideoDriver; private _bindCanvas; private _rebindCanvas; private _unbindCanvas; private _removeVideoDriver; private _emulationState; private _onEmulationStarted; private _onEmulationStopped; private _onEmulationPaused; private _onEmulationResumed; private _onEmulationReset; private _onToggleFullscreen; private _onSetLimitFramerate; private _onInputTogglePause; private _onInputReset; private _onInputToggleFullscreen; private _onWindowResize; private _onUpdateConsoleSwitches; private _onMutation; private _ports; private _emulationMutex; private _canvasMutex; private _emulationService; private _emulationServiceReady; private _driverManager; private _currentCartridgeHash; private _canvas; private _videoDriver; private _fullscreenDriver; private _mutationObserver; private _keyboardDriver; private _paddleDriver; private _audioDriver; private _gamepadDriver; private _touchDriver; private _currentConfig; private _handledCanvasElements; } export default Emulation;