import { IJsxpaWriteRespository } from "../../../service/jsxpa-write-repository.service";
import { IJsxpaReadRespository } from "../../../service/jsxpa-read-repository.service";
export declare abstract class NeDBRepository<T> implements IJsxpaWriteRespository<T>, IJsxpaReadRespository<T> {
    private initializedNeDB;
    private initializedNeDBConfig;
    private neDBConnectionManager;
    private neDBService;
    constructor();
    private neDB;
    private config;
    private neDBConfig;
    abstract databaseName(): string;
    private init;
    private initNeDb;
    setPersistance(inMemory: boolean): void;
    private initExplicitDB;
    private initAppDefinedDB;
    private getDatabaseNameFromRepo;
    private getDatabaseFolderName;
    private initNeDBConfig;
    compactDatabase(): void;
    find(entity: T): Promise<T[]>;
    selectAll(): Promise<T[]>;
    selectAllSync(): T[];
    selectOneSync(id: string): T;
    selectOneByColumnSync(coloumnName: string, coloumnValue: string): T;
    findOne(id: string): Promise<T>;
    update(oldEntity: T, newEntity: T): Promise<T>;
    save(entity: T): Promise<T>;
    delete(entity: T, removeNullValues?: boolean, removeEmptyValues?: boolean): Promise<number>;
    deleteById(id: string): Promise<number>;
    deleteAll(): Promise<number>;
}
