import { KosSubscriptionManager } from './kos-subscription-manager';
import { KosOnlineLifecycleManager } from './kos-online-lifecycle-manager';
import { KosOfflineQueue } from './kos-offline-queue';
import { KosHttpRouteManager } from './kos-http-route-manager';
import { KosFSMManager } from './kos-fsm-manager';
import { KosEffectManager } from './kos-effects-manager';
import { KosCompanionModelManager } from './kos-companion-model-manager';
import { KosChildResolver } from './kos-child-resolver';
import { IKosDataModel, IKosModel } from '../kosModel';

interface KosModelComponents {
    fsm: KosFSMManager;
    offlineQueue: KosOfflineQueue;
    subscriptionManager?: KosSubscriptionManager;
    effectManager?: KosEffectManager;
    onlineLifecycleManager?: KosOnlineLifecycleManager;
    httpRouteManager?: KosHttpRouteManager;
    companionManager: KosCompanionModelManager;
    childResolver: KosChildResolver;
}
export declare class KosModelComponentFactory {
    static createAll<T extends IKosDataModel>(model: IKosModel<T>): KosModelComponents;
}
export {};
//# sourceMappingURL=kos-model-component-factory.d.ts.map