import { z } from 'zod'; import { ToolBubble } from '../../types/tool-bubble-class.js'; import type { BubbleContext } from '../../types/bubble.js'; import { CredentialType, type BubbleName } from '@bubblelab/shared-schemas'; declare const AppRankingsToolParamsSchema: z.ZodObject<{ operation: z.ZodEnum<["rankings"]>; stores: z.ZodOptional, "many">>>; countries: z.ZodOptional>>; appleCategories: z.ZodOptional>>; googleCategories: z.ZodOptional>>; chartType: z.ZodOptional>>; limit: z.ZodOptional>; credentials: z.ZodOptional, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "rankings"; credentials?: Partial> | undefined; limit?: number | undefined; stores?: ("google" | "apple")[] | undefined; appleCategories?: string[] | undefined; googleCategories?: string[] | undefined; chartType?: "free" | "paid" | "grossing" | undefined; countries?: string[] | undefined; }, { operation: "rankings"; credentials?: Partial> | undefined; limit?: number | undefined; stores?: ("google" | "apple")[] | undefined; appleCategories?: string[] | undefined; googleCategories?: string[] | undefined; chartType?: "free" | "paid" | "grossing" | undefined; countries?: string[] | undefined; }>; declare const AppRankingsToolResultSchema: z.ZodObject<{ operation: z.ZodEnum<["rankings"]>; rankings: z.ZodArray; rank: z.ZodNumber; appName: z.ZodString; appId: z.ZodString; appUrl: z.ZodNullable; developer: z.ZodNullable; rating: z.ZodNullable>; ratingCount: z.ZodNullable>; price: z.ZodNullable; category: z.ZodString; chartType: z.ZodString; genres: z.ZodNullable; country: z.ZodString; releaseDate: z.ZodNullable; iconUrl: z.ZodNullable; scrapedAt: z.ZodString; }, "strip", z.ZodTypeAny, { developer: string | null; store: "google" | "apple"; country: string; price: string | null; rating: string | number | null; category: string; scrapedAt: string; rank: number; appId: string; iconUrl: string | null; appName: string; appUrl: string | null; ratingCount: string | number | null; chartType: string; genres: string | null; releaseDate: string | null; }, { developer: string | null; store: "google" | "apple"; country: string; price: string | null; rating: string | number | null; category: string; scrapedAt: string; rank: number; appId: string; iconUrl: string | null; appName: string; appUrl: string | null; ratingCount: string | number | null; chartType: string; genres: string | null; releaseDate: string | null; }>, "many">; totalApps: z.ZodNumber; success: z.ZodBoolean; error: z.ZodString; }, "strip", z.ZodTypeAny, { error: string; success: boolean; operation: "rankings"; rankings: { developer: string | null; store: "google" | "apple"; country: string; price: string | null; rating: string | number | null; category: string; scrapedAt: string; rank: number; appId: string; iconUrl: string | null; appName: string; appUrl: string | null; ratingCount: string | number | null; chartType: string; genres: string | null; releaseDate: string | null; }[]; totalApps: number; }, { error: string; success: boolean; operation: "rankings"; rankings: { developer: string | null; store: "google" | "apple"; country: string; price: string | null; rating: string | number | null; category: string; scrapedAt: string; rank: number; appId: string; iconUrl: string | null; appName: string; appUrl: string | null; ratingCount: string | number | null; chartType: string; genres: string | null; releaseDate: string | null; }[]; totalApps: number; }>; type AppRankingsToolParams = z.output; type AppRankingsToolResult = z.output; type AppRankingsToolParamsInput = z.input; export declare class AppRankingsTool extends ToolBubble { static readonly bubbleName: BubbleName; static readonly schema: z.ZodObject<{ operation: z.ZodEnum<["rankings"]>; stores: z.ZodOptional, "many">>>; countries: z.ZodOptional>>; appleCategories: z.ZodOptional>>; googleCategories: z.ZodOptional>>; chartType: z.ZodOptional>>; limit: z.ZodOptional>; credentials: z.ZodOptional, z.ZodString>>; }, "strip", z.ZodTypeAny, { operation: "rankings"; credentials?: Partial> | undefined; limit?: number | undefined; stores?: ("google" | "apple")[] | undefined; appleCategories?: string[] | undefined; googleCategories?: string[] | undefined; chartType?: "free" | "paid" | "grossing" | undefined; countries?: string[] | undefined; }, { operation: "rankings"; credentials?: Partial> | undefined; limit?: number | undefined; stores?: ("google" | "apple")[] | undefined; appleCategories?: string[] | undefined; googleCategories?: string[] | undefined; chartType?: "free" | "paid" | "grossing" | undefined; countries?: string[] | undefined; }>; static readonly resultSchema: z.ZodObject<{ operation: z.ZodEnum<["rankings"]>; rankings: z.ZodArray; rank: z.ZodNumber; appName: z.ZodString; appId: z.ZodString; appUrl: z.ZodNullable; developer: z.ZodNullable; rating: z.ZodNullable>; ratingCount: z.ZodNullable>; price: z.ZodNullable; category: z.ZodString; chartType: z.ZodString; genres: z.ZodNullable; country: z.ZodString; releaseDate: z.ZodNullable; iconUrl: z.ZodNullable; scrapedAt: z.ZodString; }, "strip", z.ZodTypeAny, { developer: string | null; store: "google" | "apple"; country: string; price: string | null; rating: string | number | null; category: string; scrapedAt: string; rank: number; appId: string; iconUrl: string | null; appName: string; appUrl: string | null; ratingCount: string | number | null; chartType: string; genres: string | null; releaseDate: string | null; }, { developer: string | null; store: "google" | "apple"; country: string; price: string | null; rating: string | number | null; category: string; scrapedAt: string; rank: number; appId: string; iconUrl: string | null; appName: string; appUrl: string | null; ratingCount: string | number | null; chartType: string; genres: string | null; releaseDate: string | null; }>, "many">; totalApps: z.ZodNumber; success: z.ZodBoolean; error: z.ZodString; }, "strip", z.ZodTypeAny, { error: string; success: boolean; operation: "rankings"; rankings: { developer: string | null; store: "google" | "apple"; country: string; price: string | null; rating: string | number | null; category: string; scrapedAt: string; rank: number; appId: string; iconUrl: string | null; appName: string; appUrl: string | null; ratingCount: string | number | null; chartType: string; genres: string | null; releaseDate: string | null; }[]; totalApps: number; }, { error: string; success: boolean; operation: "rankings"; rankings: { developer: string | null; store: "google" | "apple"; country: string; price: string | null; rating: string | number | null; category: string; scrapedAt: string; rank: number; appId: string; iconUrl: string | null; appName: string; appUrl: string | null; ratingCount: string | number | null; chartType: string; genres: string | null; releaseDate: string | null; }[]; totalApps: number; }>; static readonly shortDescription = "Scrape Apple App Store and Google Play top free, paid, and grossing chart rankings across countries and categories."; static readonly longDescription = "\n App store rankings scraping tool for iOS and Android top charts.\n\n Operations:\n - rankings: Get top chart rankings (free, paid, or grossing) across 60+ countries and 50+ categories\n\n Supports both Apple App Store and Google Play Store in a single run.\n Returns up to `limit` apps per store/country/category combination as a flat array.\n Use the `store`, `country`, and `category` fields on each result to filter/group.\n\n Examples:\n // US top 10 free apps (both stores):\n { operation: 'rankings', limit: 10 }\n\n // Apple-only Games category, top 50:\n { operation: 'rankings', stores: ['apple'], appleCategories: ['6014'], limit: 50 }\n\n // Top grossing across US, JP, DE:\n { operation: 'rankings', chartType: 'grossing', countries: ['us', 'jp', 'de'] }\n\n // Multiple categories (Health & Medical):\n { operation: 'rankings', appleCategories: ['6013', '6020'], googleCategories: ['HEALTH_AND_FITNESS', 'MEDICAL'] }\n\n Apple Category IDs: overall, 6000 (Business), 6001 (Weather), 6002 (Utilities), 6003 (Travel),\n 6004 (Sports), 6005 (Social Networking), 6006 (Reference), 6007 (Productivity), 6008 (Lifestyle),\n 6009 (News), 6010 (Navigation), 6011 (Music), 6012 (Photo & Video), 6013 (Health & Fitness),\n 6014 (Games), 6015 (Finance), 6016 (Entertainment), 6017 (Education), 6018 (Books),\n 6020 (Medical), 6023 (Food & Drink), 6024 (Shopping), 6026 (Magazines & Newspapers)\n\n Google Play Categories: APPLICATION, GAME, ART_AND_DESIGN, AUTO_AND_VEHICLES, BEAUTY,\n BOOKS_AND_REFERENCE, BUSINESS, COMMUNICATION, DATING, EDUCATION, ENTERTAINMENT, EVENTS,\n FINANCE, FOOD_AND_DRINK, HEALTH_AND_FITNESS, LIFESTYLE, MAPS_AND_NAVIGATION, MEDICAL,\n MUSIC_AND_AUDIO, NEWS_AND_MAGAZINES, PHOTOGRAPHY, PRODUCTIVITY, SHOPPING, SOCIAL, SPORTS,\n TOOLS, TRAVEL_AND_LOCAL, VIDEO_PLAYERS, WEATHER\n\n Uses Apify's slothtechlabs/ios-android-app-rankings-scraper.\n "; static readonly alias = "app-rankings"; static readonly type = "tool"; constructor(params?: AppRankingsToolParamsInput, context?: BubbleContext); performAction(): Promise; private createErrorResult; private scrapeRankings; private transformRankings; } export {}; //# sourceMappingURL=app-rankings-tool.d.ts.map