import { Query } from 'rollun-ts-rql-test';
import { LocalDataStoreOptions } from '../datastores/LocalDatastore';
/**
 * T extends {[key: string]: any}, this string exists to silence ts error 'type {} has no index signature'
 */
export default class LocalDataClient<T extends {
    [key: string]: any;
}> {
    readonly identifier: string;
    private data;
    constructor(options?: LocalDataStoreOptions<T>);
    getDataLength(): number;
    delete(id: string | number): any;
    read(id: string | number): T | undefined;
    get<U = T>(query?: Query): Array<U>;
    update<U extends {
        [key: string]: any;
    }>(item: U): T;
    create(item: T): T;
    private _getSortHandler;
    private _getLimitHandler;
    private _getSelectAndGroupByHandler;
    private _getItemHandlerRecursively;
    private _getGroupByHandler;
    private _getQueryHandler;
}
