import { Pool, ClientBase, QueryResult, QueryConfig } from "pg"; import DataLoader from "dataloader"; import { StrategyCollection } from "./StrategyCollection"; export declare class DataLoaderExecutor { connection: T; readonly strategies: StrategyCollection; constructor(connection: T, strategies: StrategyCollection); } export declare type ReadonlyDataLoaderExecutor = DataLoaderExecutor & { readonly connection: T; }; export declare type Reader = (executor: DataLoaderExecutor, ids: readonly string[]) => Promise; export declare class DataLoaderCache { private _map; private readonly _read; constructor(read: Reader); get(executor: DataLoaderExecutor): DataLoader; } export declare class QueryCache { private _map; query(tx: Pool | ClientBase | DataLoaderExecutor, query: string | QueryConfig, parameters: unknown[]): Promise>; }