///
import { Viewer, Data, Loader } from "./base";
import { IncomingMessage, ServerResponse } from "http";
import * as clause from "./clause";
import { Context } from "./base";
export interface RequestContext extends Context {
authViewer(viewer: Viewer): Promise;
logout(): Promise;
request: IncomingMessage;
response: ServerResponse;
}
export declare class ContextCache {
loaders: Map>;
getLoader(name: string, create: () => Loader): Loader;
private itemMap;
private listMap;
private getkey;
getCachedRows(options: queryOptions): Data[] | null;
getCachedRow(options: queryOptions): Data | null;
primeCache(options: queryOptions, rows: Data[]): void;
primeCache(options: queryOptions, rows: Data): void;
clearCache(): void;
}
interface queryOptions {
fields: string[];
tableName: string;
clause: clause.Clause;
orderby?: string;
}
export {};