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<FetchFlagsResult>, 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;
}
