import { DateMonthYear, MALAnimeStatus, MALMangaStatus, MediaWithProgress, User } from './types.js';
declare const aniListEndpoint = "https://graphql.anilist.co";
declare const redirectUri = "https://anilist.co/api/v2/oauth/pin";
declare function getTitle(title: {
    english?: string;
    romaji?: string;
}): string;
declare function formatDateObject(dateObj: {
    day?: number;
    month?: number;
    year?: number;
} | null): string;
declare function getNextSeasonAndYear(): {
    nextSeason: string;
    nextYear: number;
};
declare function removeHtmlAndMarkdown(input: string): string;
declare function getDownloadFolderPath(): string;
declare function getFormattedDate(): string;
/**
 * Export JSON as JSON
 * @param js0n
 * @param dataType (eg: anime|manga)
 */
declare function saveJSONasJSON(js0n: object, dataType: string): Promise<void>;
/**
 * Export JSON as CSV
 * @param js0n
 * @param dataType (eg: anime|manga)
 */
declare function saveJSONasCSV(js0n: MediaWithProgress[], dataType: string): Promise<void>;
declare function saveJSONasXML(js0n: MediaWithProgress[], data_type: 0 | 1): Promise<void>;
declare function selectFile(fileType: string): Promise<string>;
declare function createAnimeXML(malId: number, progress: number, status: MALAnimeStatus, episodes: number, title: string, format: string): string;
declare function createMangaXML(malId: number, progress: number, status: MALMangaStatus, chapters: number, title: string): string;
declare function createAnimeListXML(mediaWithProgress: MediaWithProgress[]): Promise<string>;
declare function createMangaListXML(mediaWithProgress: MediaWithProgress[]): Promise<string>;
declare function getCurrentPackageVersion(): string | null;
declare function timestampToTimeAgo(timestamp: number): string;
declare const anidbToanilistMapper: (romanjiName: string, year: number, englishName?: string) => Promise<number | null>;
/**
 * Extract the save file path
 * @param data_type - anime|manga
 * @param file_format - save format (eg: .json|.csv)
 * @returns string of file path
 */
declare function saveToPath(data_type: string, file_format: string): Promise<string>;
declare function simpleDateFormat(date: DateMonthYear): string;
declare function handleRateLimitRetry(retryCount: number): Promise<void>;
declare function logUserDetails(user: User, followersCount: number, followingCount: number): void;
export { anidbToanilistMapper, aniListEndpoint, createAnimeListXML, createAnimeXML, createMangaListXML, createMangaXML, formatDateObject, getCurrentPackageVersion, getDownloadFolderPath, getFormattedDate, getNextSeasonAndYear, getTitle, handleRateLimitRetry, logUserDetails, redirectUri, removeHtmlAndMarkdown, saveJSONasCSV, saveJSONasJSON, saveJSONasXML, saveToPath, selectFile, simpleDateFormat, timestampToTimeAgo, };
