import BaseAdapter, { AbstractBaseAdapter, StorageProxy } from "./base";
import { RecordStatus } from "../types";
export default class Memory<B extends {
    id: string;
    last_modified?: number;
    _status?: RecordStatus;
}> extends BaseAdapter<B> implements AbstractBaseAdapter<B> {
    private _records;
    private _lastModified;
    private _metadata;
    constructor();
    clear(): Promise<void>;
    get(id: string): Promise<B>;
    list(params: {
        filters?: {
            [key: string]: any;
        };
        order?: string;
    }): Promise<B[]>;
    execute<T>(callback: (proxy: StorageProxy<B>) => T, options?: {
        preload: string[];
    }): Promise<NonNullable<T>>;
    loadDump(records: (B & {
        last_modified: number;
    })[]): Promise<B[]>;
    importBulk(records: B[]): Promise<B[]>;
    saveLastModified(lastModified: number | null): Promise<number | null>;
    getLastModified(): Promise<number | null>;
    saveMetadata(metadata: {
        [key: string]: any;
    } | null): Promise<{
        [key: string]: any;
    } | null>;
    getMetadata<T>(): Promise<T>;
    private proxy;
}
