import type { Connector } from './connectors/Connector.js'; import type { Cache, Logger, QueryEntry, QueryRequest } from './types.js'; import { QueryResult } from './util/query-result.js'; export declare const Priority: Readonly<{ High: 0; Normal: 1; Low: 2; }>; export declare class QueryManager { private queue; private db; private clientCache; private _logger; private _logQueries; private _consolidate; /** Requests pending with the query manager. */ pendingResults: QueryResult[]; private maxConcurrentRequests; private pendingExec; constructor(maxConcurrentRequests?: number); next(): void; /** * Add an entry to the query queue with a priority. * @param entry The entry to add. * @param priority The query priority, defaults to `Priority.Normal`. */ enqueue(entry: QueryEntry, priority?: number): void; /** * Submit the query to the connector. * @param request The request. * @param result The query result. */ submit(request: QueryRequest, result: QueryResult): Promise; /** * Get or set the current query cache. * @param value Cache value to set * @returns Current cache */ cache(): Cache | null; cache(value: Cache | boolean): Cache; /** * Get or set the current logger. * @param value Logger to set * @returns Current logger */ logger(): Logger; logger(value: Logger): Logger; /** * Get or set if queries should be logged. * @param value Whether to log queries * @returns Current logging state */ logQueries(): boolean; logQueries(value: boolean): boolean; /** * Get or set the database connector. * @param connector Connector to set * @returns Current connector */ connector(): Connector | null; connector(connector: Connector): Connector; /** * Indicate if query consolidation should be performed. * @param flag Whether to enable consolidation */ consolidate(flag: boolean): void; /** * Request a query result. * @param request The request. * @param priority The query priority, defaults to `Priority.Normal`. * @returns A query result promise. */ request(request: QueryRequest, priority?: number): QueryResult; cancel(requests: QueryResult[]): void; clear(): void; } //# sourceMappingURL=QueryManager.d.ts.map