import { GoogleSearchConsoleClient } from "gscdump"; import { Column, Dimension, SearchType } from "gscdump/query"; interface GscRange { start: string; end: string; } interface GscTopNRow { key: string; clicks: number; impressions: number; sum_position: number; } interface FetchTopNOptions { client: GoogleSearchConsoleClient; siteUrl: string; dimension: Column; range: GscRange; /** * Ask the GSC API to order by clicks desc. Skip for dimensions where GSC * already returns sensibly ranked rows (e.g. country). */ orderByClicksDesc?: boolean; /** Forwarded to the GSC builder. */ limit?: number; /** Trim after the fact (e.g. country has no server-side limit). */ sliceTop?: number; /** GSC search corpus; callers default API-boundary omissions to web. */ searchType?: SearchType; } declare function fetchGscTopN(opts: FetchTopNOptions): Promise; interface GscDailyRow { date: number; clicks: number; impressions: number; sum_position: number; anonymizedImpressionsPct: number; } declare function fetchGscDaily(opts: { client: GoogleSearchConsoleClient; siteUrl: string; range: GscRange; /** GSC search corpus; callers default API-boundary omissions to web. */ searchType?: SearchType; }): Promise; export { FetchTopNOptions, GscDailyRow, GscRange, GscTopNRow, fetchGscDaily, fetchGscTopN };