import type { Unsubscribe } from '@reduxjs/toolkit'; import type { CoreEngine, CoreEngineNext } from '../../app/engine.js'; export interface Subscribable { /** * Adds a callback that's invoked on state change. * * @param listener A callback that's invoked on state change. * @returns A function to remove the listener. */ subscribe(listener: () => void): Unsubscribe; } export interface Controller extends Subscribable { readonly state: {}; } export declare function buildController(engine: CoreEngine | CoreEngineNext): Controller;