import { BehaviorSubject, Observable } from 'rxjs'; import { ApolloClient, Endpoints, NormalizedCacheObject } from '@chatie/graphql'; export { MutationUpdaterFn, ObservableQuery } from '@chatie/graphql'; import { CurrentUserQuery } from '../generated-schemas/db-schema'; import { log } from './config'; export declare type Apollo = ApolloClient & { wsClose?: Function; }; export interface DbOptions { token?: string; endpoints?: Endpoints; log?: typeof log; } export declare type CurrentUser = CurrentUserQuery['user']; export declare class Db { private apollo$; apollo: Observable; private currentUser$; currentUser: Observable; private endpoints; private token; log: typeof log; constructor(options?: DbOptions); private nextApollo(available?); setToken(token: string): void; setEndpoints(endpoints: Endpoints): void; open(): Promise; close(): Promise; private getCurrentUser(apollo); } export { BehaviorSubject, Endpoints };