import { GoogleSearchConsoleClient } from "gscdump"; import { BuilderState } from "gscdump/query"; import { SearchType as SearchType$1 } from "@gscdump/engine"; import { AnalysisQuerySource } from "@gscdump/engine/source"; declare function canProxyToGsc(state: BuilderState): boolean; interface CreateLiveGscSourceOptions { /** GSC property URL (e.g. `sc-domain:example.com` or `https://example.com/`). */ siteUrl: string; /** * Returns a valid GSC access token. Called lazily on first query so refresh * cost is paid only when the source actually runs. Host owns refresh logic. */ getAccessToken: () => Promise; /** Optional host client factory (for custom timeouts, fetch, or telemetry). */ createClient?: (accessToken: string) => GoogleSearchConsoleClient | Promise; /** * GSC `searchType` slice this source is scoped to (`web`, `discover`, * `news`, `googleNews`, `image`, `video`). When set, the slice is injected * into every outgoing builder state so the live API returns rows for that * slice only. An explicit search type already present on the state wins. */ searchType?: SearchType$1; } declare function createLiveGscSource(opts: CreateLiveGscSourceOptions): AnalysisQuerySource; export { CreateLiveGscSourceOptions, canProxyToGsc, createLiveGscSource };