import type { Database, DataKey } from "../util/data.js"; import type { Identifier, Items, OptionalItem } from "../util/item.js"; import type { ItemQuery } from "../util/query.js"; import type { Updates } from "../util/update.js"; import { AsyncThroughProvider, ThroughProvider } from "./ThroughProvider.js"; /** Provider that logs operations to a synchronous source provider to the console. */ export declare class DebugProvider extends ThroughProvider { getItem>(collection: K, id: I): OptionalItem; getItemSequence>(collection: K, id: I): AsyncIterableIterator>; addItem>(collection: K, data: T[K]): I; setItem>(collection: K, id: I, data: T[K]): void; updateItem>(collection: K, id: I, updates: Updates): void; deleteItem>(collection: K, id: I): void; countQuery>(collection: K, query?: ItemQuery): number; getQuery>(collection: K, query?: ItemQuery): Items; getQuerySequence>(collection: K, query?: ItemQuery): AsyncIterableIterator>; setQuery>(collection: K, query: ItemQuery, data: T[K]): void; updateQuery>(collection: K, query: ItemQuery, updates: Updates): void; deleteQuery>(collection: K, query: ItemQuery): void; } /** Provider that logs operations to a synchronous source provider to the console. */ export declare class AsyncDebugProvider extends AsyncThroughProvider { getItem>(collection: K, id: I): Promise>; getItemSequence>(collection: K, id: I): AsyncIterableIterator>; addItem>(collection: K, data: T[K]): Promise; setItem>(collection: K, id: I, data: T[K]): Promise; updateItem>(collection: K, id: I, updates: Updates): Promise; deleteItem>(collection: K, id: I): Promise; countQuery>(collection: K, query: ItemQuery): Promise; getQuery>(collection: K, query: ItemQuery): Promise>; getQuerySequence>(collection: K, query?: ItemQuery): AsyncIterableIterator>; setQuery>(collection: K, query: ItemQuery, data: T[K]): Promise; updateQuery>(collection: K, query: ItemQuery, updates: Updates): Promise; deleteQuery>(collection: K, query: ItemQuery): Promise; }