export declare class JsonModel<T extends Record<string, any>> {
    private dist;
    private data;
    constructor(dist?: string);
    private readData;
    private saveData;
    getAll<K extends keyof T>(table: K): T[K] | null;
    select<K extends keyof T>(table: K, where: Partial<T[K][number]>): T[K][number][];
    insert<K extends keyof T>(table: K, newData: T[K][number]): Promise<void>;
    update<K extends keyof T>(table: K, where: Partial<T[K][number]>, newValues: Partial<T[K][number]>): Promise<void>;
    delete<K extends keyof T>(table: K, where: Partial<T[K][number]>): Promise<void>;
}
