import { DatafileManager, DatafileManagerConfig } from './datafile_manager';
import { BaseService } from '../service';
import { Consumer, Fn } from '../utils/type';
import { LoggerFacade } from '../logging/logger';
export declare const LOGGER_NAME = "PollingDatafileManager";
import { Platform } from '../platform_support';
export declare const FAILED_TO_FETCH_DATAFILE = "Failed to fetch datafile";
export declare class PollingDatafileManager extends BaseService implements DatafileManager {
    private requestHandler;
    private currentDatafile?;
    private emitter;
    private autoUpdate;
    private initRetryRemaining?;
    private repeater;
    private lastResponseLastModified?;
    private datafileUrl;
    private currentRequest?;
    private cacheKey;
    private cache?;
    private sdkKey;
    private datafileAccessToken?;
    private customHeaders?;
    constructor(config: DatafileManagerConfig);
    setLogger(logger: LoggerFacade): void;
    onUpdate(listener: Consumer<string>): Fn;
    get(): string | undefined;
    start(): void;
    makeDisposable(): void;
    stop(): void;
    private handleInitFailure;
    private handleError;
    private onRequestRejected;
    private onRequestResolved;
    private makeDatafileRequest;
    private syncDatafile;
    private handleDatafile;
    private getDatafileFromResponse;
    private saveLastModified;
    private setDatafileFromCacheIfAvailable;
}
export declare const __platforms: Platform[];
