import type { ComputedRef } from 'vue'; import type { NuxtApp } from 'nuxt/app'; import type { MercureStore } from '../storage/stores/mercure/mercure-store.js'; import type { ResourcesStore } from '../storage/stores/resources/resources-store.js'; import type { FetcherStore } from '../storage/stores/fetcher/fetcher-store.js'; import type Fetcher from './fetcher/fetcher.js'; export default class Mercure { private readonly mercureStoreDefinition; private readonly resourcesStoreDefinition; private readonly fetcherStoreDefinition; private readonly nuxtApp; private fetcher?; private requestCount?; private readonly mercureStore; private readonly client; constructor(mercureStoreDefinition: MercureStore, resourcesStoreDefinition: ResourcesStore, fetcherStoreDefinition: FetcherStore, nuxtApp: NuxtApp); setFetcher(fetcher: Fetcher): void; setRequestCount(requestCount: ComputedRef): void; setMercureHubFromLinkHeader(linkHeader: string): void; init(forceRestart?: boolean): void; }