import { IKosDataModel } from './kosModel';
import { ModelFactory } from '../types';

export declare const KosModelFactory: {
    byModelType: <T extends IKosDataModel, O extends {} = any>(modelType: string) => ModelFactory<T, O>;
    getModelInstance: <T_1 extends IKosDataModel, O_1 extends {} = any>(id: string, modelType: string, options?: O_1 | undefined) => T_1;
};
export declare const Kos: {
    Factory: {
        create: <T extends IKosDataModel, O extends {} = any>(modelType: string) => (id: string) => (options?: O, parentId?: string) => T;
    };
    Singleton: {
        create: <T_1 extends IKosDataModel, O_1 extends {} = any>(modelType: string) => (options?: O_1 | undefined, parentId?: string) => T_1;
    };
    Model: {
        instance: <T_2 extends IKosDataModel, O_2 extends {} = any>(modelType: string) => (id: string) => T_2;
    };
};
//# sourceMappingURL=kos-model-factory.d.ts.map