import { autorun, makeAutoObservable, makeObservable, reaction, runInAction, when } from 'mobx';

export * from './core/api';
export * from './core/context';
export * from './core/decorators';
export * from './core/extension';
export * from './core/kos-container-index';
export * from './core/kos-container-model';
export * from './core/kos-data-container';
export * from './core/kos-model-factory';
export * from './core/kos-registration';
export * from './core/kos-singleton-registration';
export * from './core/kosCore';
export * from './core/kosModel';
export * from './core/kosModelManager';
export { KosModelEvents, KosModelState } from './core/lifecycle';
export * from './core/log';
export * from './core/models';
export { default as KosToken } from './core/models/kos-token';
export { KosModelRegistrationFactory, preloadKosModel, registerCompanionModel, registerKosModel, registerLegacyModel, RegistrationManager, SingletonKosModelRegistrationFactory, type RegistrationResult, } from './core/registration';
export * from './core/services';
export * from './core/transport';
export * from './core/types';
export * from './types';
export * from './util';
export { kosAction, kosAutoEffect, kosComputed, kosEffect, kosObservable, kosWhen, makeAutoObservable, makeObservable, };
/**
 * {@inheritDoc when}
 * @category Utility
 */
declare const kosWhen: typeof when;
/**
 * {@inheritDoc computed}
 * @category Utility
 */
declare const kosComputed: import('mobx').IComputedFactory;
/**
 * {@inheritDoc runInAction}
 * @category Utility
 */
declare const kosAction: typeof runInAction;
/**
 * Creates a named reactive view and keeps it alive, so that the view is always updated if one of the dependencies changes, even when the view is not further used by something else.
 *
 * @param view — The reactive view
 *
 * @returns — disposer function, which can be used to stop the view from being updated in the future.
 * @category Utility
 */
declare const kosAutoEffect: typeof autorun;
/**
 * {@inheritDoc reaction}
 * @category Utility
 */
declare const kosEffect: typeof reaction;
/**
 * {@inheritDoc observable}
 * @category Utility
 */
declare const kosObservable: import('mobx').IObservableFactory;
//# sourceMappingURL=index.d.ts.map