import { Context } from "@lit/context"; import { ReactiveControllerHost, ReactiveElement } from "lit"; import { SignalCb } from "@holochain/client"; import { GetStrategy } from "@holochain-open-dev/core-types"; import { Mutex } from 'async-mutex'; export declare abstract class ViewModel { readonly isMainView: boolean; constructor(isMainView: boolean); protected _previousPerspective?: unknown; protected _providedHosts: [ReactiveControllerHost, PropertyKey][]; protected _provider?: unknown; protected _canNotify: boolean; abstract signalHandler?: SignalCb; abstract getContext(): Context; abstract get perspective(): Object; comparable(): Object; initializePerspectiveFromLocal(): Promise; initializePerspectiveFromNetwork(): Promise; protected probeAllInner(_strategy: GetStrategy): void; protected _probeMutex: Mutex; probeAll(strategy: GetStrategy): void; protected hasChanged(): boolean; provideContext(providerHost: ReactiveElement): void; subscribe(providedHost: ReactiveControllerHost, propName: PropertyKey): void; unsubscribe(candidate: ReactiveControllerHost): void; protected notifySubscribers(): boolean; } //# sourceMappingURL=ViewModel.d.ts.map