import { RegistrationManager, RegistrationResult } from '../../core';

export declare const registerCoreModels: <R>(root: R) => () => {
    preload: (type: string) => RegistrationResult<R>;
    model: <T extends import('../../core').BaseKosModelRegistrationBean<any, any> | import('../../core').KosModelRegistrationType<any, any>>(registration: T, preload?: boolean | undefined) => RegistrationResult<R>;
    companion: (parentType: string, companion: import('../../core').KosCompanionModelType<any>) => RegistrationResult<R>;
    legacy: <T_1 extends import('../../core').IKosModelRegistration>(type: string, registration: T_1) => RegistrationResult<R>;
};
type ModelRegistry<R> = {
    core: {
        models: () => RegistrationResult<R>;
    };
    preload: ReturnType<typeof RegistrationManager.model.preloadModel>;
    model: ReturnType<typeof RegistrationManager.model.register>;
    companion: ReturnType<typeof RegistrationManager.companion.register>;
};
declare const _KosModelRegistry: {};
type KosModelRegistryType = ModelRegistry<typeof _KosModelRegistry>;
declare const KosModelRegistry: KosModelRegistryType;
export { KosModelRegistry };
//# sourceMappingURL=core-registration-manager.d.ts.map