import { UrlNotification } from "../core/types.mjs"; import { GoogleSearchConsoleClient } from "../core/client.mjs"; type IndexingNotificationType = 'URL_UPDATED' | 'URL_DELETED'; interface IndexingResult { url: string; type: IndexingNotificationType; notifyTime?: string; } interface IndexingMetadata { url: string; latestUpdate?: UrlNotification; latestRemove?: UrlNotification; } /** * Request Google to index or remove a URL via the Indexing API. * Note: The Indexing API officially supports only job posting and livestream content, * but can be used for any URL with varying success. */ declare function requestIndexing(client: GoogleSearchConsoleClient, url: string, options?: { type?: IndexingNotificationType; }): Promise; /** * Get the indexing notification metadata for a URL. * Returns when Google was last notified about updates/removals. */ declare function getIndexingMetadata(client: GoogleSearchConsoleClient, url: string): Promise; /** * Batch request indexing for multiple URLs with rate limiting. * Returns results for each URL. */ declare function batchRequestIndexing(client: GoogleSearchConsoleClient, urls: string[], options?: { type?: IndexingNotificationType; delayMs?: number; concurrency?: number; onProgress?: (result: IndexingResult, index: number, total: number) => void; }): Promise; export { IndexingMetadata, IndexingNotificationType, IndexingResult, batchRequestIndexing, getIndexingMetadata, requestIndexing };