import type { DatasetRecord, DatasetItem, DatasetItemRow, DatasetVersion, CreateDatasetInput, UpdateDatasetInput, AddDatasetItemInput, UpdateDatasetItemInput, ListDatasetsInput, ListDatasetsOutput, ListDatasetItemsInput, ListDatasetItemsOutput, ListDatasetVersionsInput, ListDatasetVersionsOutput, BatchInsertItemsInput, BatchDeleteItemsInput } from '../../types.js';
import type { InMemoryDB } from '../inmemory-db.js';
import { DatasetsStorage } from './base.js';
export declare class DatasetsInMemory extends DatasetsStorage {
    private db;
    constructor({ db }: {
        db: InMemoryDB;
    });
    dangerouslyClearAll(): Promise<void>;
    createDataset(input: CreateDatasetInput): Promise<DatasetRecord>;
    getDatasetById({ id }: {
        id: string;
    }): Promise<DatasetRecord | null>;
    protected _doUpdateDataset(args: UpdateDatasetInput): Promise<DatasetRecord>;
    deleteDataset({ id }: {
        id: string;
    }): Promise<void>;
    listDatasets(args: ListDatasetsInput): Promise<ListDatasetsOutput>;
    protected _doAddItem(args: AddDatasetItemInput): Promise<DatasetItem>;
    protected _doUpdateItem(args: UpdateDatasetItemInput): Promise<DatasetItem>;
    protected _doDeleteItem({ id, datasetId }: {
        id: string;
        datasetId: string;
    }): Promise<void>;
    getItemById(args: {
        id: string;
        datasetVersion?: number;
    }): Promise<DatasetItem | null>;
    getItemsByVersion({ datasetId, version }: {
        datasetId: string;
        version: number;
    }): Promise<DatasetItem[]>;
    getItemHistory(itemId: string): Promise<DatasetItemRow[]>;
    listItems(args: ListDatasetItemsInput): Promise<ListDatasetItemsOutput>;
    createDatasetVersion(datasetId: string, version: number): Promise<DatasetVersion>;
    listDatasetVersions(input: ListDatasetVersionsInput): Promise<ListDatasetVersionsOutput>;
    protected _doBatchInsertItems(input: BatchInsertItemsInput): Promise<DatasetItem[]>;
    protected _doBatchDeleteItems(input: BatchDeleteItemsInput): Promise<void>;
}
//# sourceMappingURL=inmemory.d.ts.map