import { App, Company, Config, Contact, Database } from "../../types"; import { InMemorySession } from "./inMemory"; import { DatabaseSession } from "../types"; export declare class DatabaseSessionCache implements DatabaseSession { session: DatabaseSession; config?: Config; companies: Company[]; memory: InMemorySession; /** True if the cache is complete with all data from the database */ isDump: boolean; constructor(session: DatabaseSession); private updateMemory; private clearCache; addCompany(company: Company): Promise; close(): Promise; dumpPromise: Promise | undefined; dump(): Promise; private cacheCompanyChild; private cacheCompany; findAppByEmail(email: string): Promise<{ company: Company; app: App; } | undefined>; findAppByName(appName: string): Promise<{ company: Company; app: App; } | undefined>; findCompanyByName(name: string): Promise; findFollowups(startDate: string, endDate: string): Promise<(import("../../types").Interaction & { company: string; })[]>; findInteractions(startDate: string, endDate: string): Promise<(import("../../types").Interaction & { company: string; })[]>; findContactByEmail(email: string): Promise<{ company: Company; contact: Contact; } | undefined>; loadConfig(): Promise; searchCompanies(filter: string): Promise; updateCompany(name: string, attributes: Partial): Promise; updateConfig(attributes: Partial): Promise; private merge; }