import { BehaviorSubject, Observable } from 'rxjs'; import { AgGunOptions } from './ag-gun.options'; import { QueryFn } from './interfaces'; import { AgGun } from './ag-gun'; export declare class AgGunFactory { agGun: AgGun; pathSegments: any[]; gun: any; constructor(agGun: AgGun); /** * Create service */ static create(gun: any, agGun: AgGun, paths: string[]): AgGunFactory; /** * Set Options */ opt(options: AgGunOptions): AgGunFactory; /** * Get */ get(key: string | number): AgGunFactory; /** * Map */ map(queryFn?: QueryFn): AgGunFactory; /** * Put */ put(data: any | AgGun): AgGunFactory; /** * Set */ set(data: any | AgGun): AgGunFactory; /** * Back */ back(): AgGunFactory; /** * Open */ open(): Observable; /** * Once */ once(): Observable; /** * On */ on(): Observable; /** * List */ list(queryFn?: QueryFn): Observable; /** * Clear cache */ clearCache(key: string): void; /** * Get active subjects */ getActiveSubjects(key: string): BehaviorSubject[]; /** * Sets subject in cache */ private saveSubject; /** * Sets Gun listener in cache */ private saveListener; /** * Checks if the listener exists in cache */ private hasListener; /** * Create a new key to store listeners and subjects */ private getKey; }