import { ServiceSpace, ServiceDependency, ResolveDependencies, MaybeContainer } from './service'; import type { AppConfig, AnyEventContext, EventContextOfPlatform, AnyMachinatPlatform } from './types'; declare type EventListenable = MaybeContainer<(ctx: Context) => void>; declare type ErrorListenable = MaybeContainer<(err: Error) => void>; export default class MachinatApp> { config: AppConfig; serviceSpace: ServiceSpace; private _status; private _eventListeners; private _errorListeners; get isStarted(): boolean; constructor(config: AppConfig); start(): Promise; stop(): Promise; useServices[]>(dependencies: Deps): ResolveDependencies; onEvent(listener: EventListenable): MachinatApp; removeEventListener(listener: EventListenable): boolean; private _emitEvent; onError(listener: ErrorListenable): MachinatApp; removeErrorListener(listener: ErrorListenable): boolean; private _emitError; private _createPlatformUtilities; private _createPopEventWrapper; private _createDispatchWrapper; private _createPopErrorFn; } export {};