import type { BetterPortalResolvedApp, BetterPortalTenant } from "./platformConfig.js"; export declare const RobotsAgent: { readonly All: "*"; readonly Googlebot: "Googlebot"; readonly Bingbot: "bingbot"; readonly DuckDuckBot: "DuckDuckBot"; readonly OaiSearchBot: "OAI-SearchBot"; readonly OaiAdsBot: "OAI-AdsBot"; readonly GPTBot: "GPTBot"; readonly ChatGPTUser: "ChatGPT-User"; readonly ClaudeBot: "ClaudeBot"; readonly ClaudeUser: "Claude-User"; readonly ClaudeSearchBot: "Claude-SearchBot"; readonly PerplexityBot: "PerplexityBot"; readonly PerplexityUser: "Perplexity-User"; }; export type KnownRobotsAgent = typeof RobotsAgent[keyof typeof RobotsAgent]; export type RobotsAgentToken = KnownRobotsAgent | (string & {}); export interface RouteRobotsRule { readonly userAgent: RobotsAgentToken; readonly access: "allow" | "disallow"; readonly crawlDelaySeconds?: number; } export type RouteRobotsPolicy = ReadonlyArray; export type SitemapChangeFrequency = "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never"; export interface RouteSitemapEntry { readonly params?: Readonly>; readonly lastModified?: string | Date; readonly changeFrequency?: SitemapChangeFrequency; readonly priority?: number; } export interface RouteSitemapContext> { readonly plugin: TPlugin; readonly tenant: BetterPortalTenant; readonly app: BetterPortalResolvedApp; readonly config?: TServiceConfig; readonly route: { readonly viewId: string; readonly path: string; }; readonly signal: AbortSignal; } export type RouteSitemapProvider> = (context: RouteSitemapContext) => ReadonlyArray | Promise>; export type RouteSitemapDeclaration> = boolean | RouteSitemapEntry | RouteSitemapProvider; export interface RouteSitemapMetadata { readonly kind: "default" | "exclude" | "metadata" | "provider"; readonly lastModified?: string; readonly changeFrequency?: SitemapChangeFrequency; readonly priority?: number; } export declare function sitemapMetadata(value: RouteSitemapDeclaration | undefined): RouteSitemapMetadata; //# sourceMappingURL=seo.d.ts.map