import "reflect-metadata";
import { RepositoryContext, IRepository } from "json-repo";
import { IQueryAdapter } from "./query.adapter";
import { QueryModel } from "../models/query-model";
interface JsonRepoAdapterConfig {
    dataPath: string;
    models: string[];
}
export declare class JsonRepoAdapter implements IQueryAdapter {
    protected context: DynamicJsonRepoContext;
    constructor(config: JsonRepoAdapterConfig);
    openConnection: () => Promise<void>;
    run: (query: QueryModel) => Promise<any>;
    private _open;
    private open;
    private getAllEntities;
    private filterEntities;
    private sortEntities;
    private limitEntities;
}
declare class DynamicJsonRepoContext extends RepositoryContext {
    models: {
        [model: string]: IRepository<any>;
    };
    constructor(dataPath: string, models: string[]);
}
export {};
