/** * This Source Code is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Copyright (c) Infonomic Company Limited */ /** * Full ranking for one dashboard card, paged client-side. * * The dashboard cards show a short preview so the lists band stays even * regardless of traffic. This modal shows the whole set behind a card's * "View all" action. A `source` may be a ready list (countries are fully * loaded with the dashboard) or a loader invoked once each time the modal * opens (pages, downloads and referrers fetch a larger top-N on demand). * * The caption keeps the dashboard's honesty rule: when the loaded rows are * a top-N slice of a larger set it says so alongside the page range. */ import type React from 'react'; import { type AnalyticsTone, type RankedListSource } from './ranking.js'; export type RankedListSourceInput = RankedListSource | (() => Promise); export interface RankedListModalProps { isOpen: boolean; onDismiss(): void; title: string; tone: AnalyticsTone; locale: string; source: RankedListSourceInput; pageSize?: number; } export declare function RankedListModal({ isOpen, onDismiss, title, tone, locale, source, pageSize, }: RankedListModalProps): React.JSX.Element;