import { Data, AppStoreConfig, PublishedReviews } from "./global-types";
export default class AppStoreReviews {
    BASE_URL: string;
    STORE_NAME: string;
    fetch(config: AppStoreConfig, publishedReviews: PublishedReviews): Promise<Data>;
    fetchAppInformation(appId: string): Promise<AppInformation>;
    fetchAppStoreReviews(appId: string, pagesInRange: number, region: string, verbose?: boolean): Promise<Review[]>;
    fetchAppStoreReviewsByPage(appId: string, page: number, region: string, verbose?: boolean): Promise<Review[]>;
    mapReviewId(review: Review): string;
    isAppInformationEntry: (entry: ReviewEntry) => boolean;
    parseAppStoreReview: (entry: ReviewEntry, region: string) => Review;
    reviewAppVersion: (review: ReviewEntry) => string;
    reviewRating: (review: ReviewEntry) => number;
    reviewAuthor: (review: ReviewEntry) => string;
    reviewLink: (review: ReviewEntry) => string;
    generateSlackMessage: (review: Review, appInformation: AppInformation, config: AppStoreConfig) => string;
}
export declare type Review = {
    id: string;
    version: string;
    title: string;
    text: string;
    rating: number;
    author: string;
    link: string;
    region: string;
};
declare type ReviewEntry = {
    'im:name': string;
    'im:rating': Label;
    'im:version': Label;
    id: Label;
    title: Label;
    content: Label;
    author: {
        name: Label;
        uri: Label;
    };
};
declare type Label = {
    label: string;
};
export declare type AppInformation = {
    appName: string;
    appIcon: string;
    appLink: string;
};
export {};
