import { Event } from 'microevent.ts'; import EmulationServiceInterface from '../EmulationServiceInterface'; import EmulationContextInterface from '../EmulationContextInterface'; import CartridgeInfo from '../../../../machine/stella/cartridge/CartridgeInfo'; declare class EmulationService implements EmulationServiceInterface { private _stellaWorkerUri; constructor(_stellaWorkerUri: string); init(): Promise; start(buffer: { [i: number]: number; length: number; }, config: EmulationServiceInterface.Config, cartridgeType?: CartridgeInfo.CartridgeType): Promise; pause(): Promise; stop(): Promise; reset(): Promise; resume(): Promise; setRateLimit(enforce: boolean): Promise; getFrequency(): number; getRateLimit(): boolean; getState(): EmulationServiceInterface.State; getLastError(): Error; getEmulationContext(): EmulationContextInterface; private _fetchLastError; private _applyState; private _onFrequencyUpdate; private _onEmulationError; private _startProxies; private _stopProxies; private _pauseProxies; private _resumeProxies; private _startControlUpdates; private _stopControlUpdates; stateChanged: Event; frequencyUpdate: Event; private _rateLimitEnforced; private _mutex; private _worker; private _rpc; private _state; private _lastError; private _emulationContext; private _frequency; private _waveformChannels; private _pcmChannel; private _controlProxy; private _controlProxyUpdateHandle; private _proxyState; private _savedConfig; } export { EmulationService as default };