import type { Options } from './types'; import { FetchFlagsResult } from './types'; import type { Emitter } from 'mitt'; export default class Poller { private fetchFlagsFn; private configurations; private eventBus; private logDebug; private logError; private timeoutId; private isRunning; private maxAttempts; constructor(fetchFlagsFn: () => Promise, configurations: Options, eventBus: Emitter, // Used to emit the updates retrieved in polling intervals logDebug: (...data: any[]) => void, logError: (...data: any[]) => void); start(): void; private poll; private attemptFetch; stop(): void; isPolling(): boolean; private logDebugMessage; private logErrorMessage; }