import { PluginConfig } from '../core/config';
import { ReviewMetrics } from './types';
import { CanRequestReviewResult } from '../definitions';
export declare class ReviewRateLimiter {
    private config;
    private logger;
    private storageKey;
    private readonly IOS_MAX_PROMPTS_PER_YEAR;
    private readonly ANDROID_MIN_DAYS_BETWEEN;
    private readonly DEFAULT_MIN_DAYS_BETWEEN;
    constructor(config: PluginConfig);
    canRequestReview(): Promise<CanRequestReviewResult>;
    recordRequest(wasDisplayed?: boolean): Promise<void>;
    reset(): Promise<void>;
    getMetrics(): Promise<ReviewMetrics>;
    private getRateLimitData;
    private saveRateLimitData;
    private getDaysSince;
    private getMinDaysBetweenPrompts;
    private getPlatform;
    private getCurrentVersion;
    private getInstallDate;
}
