import { type AgentWebConfig, type AgentWebCrawlerCategory } from "./config.js"; export interface AgentWebPage { path: string; title: string; description?: string; markdown?: string; markdownPath?: string; lastmod?: string | Date; } export interface AgentWebResource { title: string; url: string; description?: string; } export interface AgentWebOrganization { name: string; url?: string; sameAs?: string[]; contactPoint?: { "@type": "ContactPoint"; contactType: string; email?: string; telephone?: string; url?: string; }; address?: { "@type": "PostalAddress"; streetAddress?: string; addressLocality?: string; addressRegion?: string; postalCode?: string; addressCountry?: string; }; } export interface BuildAgentWebStaticFilesOptions { siteName: string; siteUrl: string; description?: string; pages: AgentWebPage[]; config: AgentWebConfig; developerResources?: AgentWebResource[]; whenToUse?: string[]; organization?: AgentWebOrganization; /** * Splits the sitemap by the returned key: `sitemap.xml` becomes a sitemap * index pointing at one `sitemap-{key}.xml` per key. Keys are lowercased * and must then match `/^[a-z0-9][a-z0-9-]*$/`. */ sitemapGroup?: (page: AgentWebPage) => string; } export interface AgentWebSitemapIndexEntry { path: string; lastmod?: string | Date; } export interface AgentWebStaticFile { path: string; content: string; } export interface MarkdownResponseHeadersOptions { siteUrl: string; pagePath: string; markdownPath?: string; markdown: string; } export declare const AGENT_WEB_CRAWLER_USER_AGENTS: Record; export declare function buildAgentWebStaticFiles(options: BuildAgentWebStaticFilesOptions): AgentWebStaticFile[]; export declare function buildRobotsTxt(options: { siteUrl: string; config: Pick; sitemapPath?: string; }): string; export declare function buildSitemapXml(pages: AgentWebPage[], siteUrl: string): string; export declare function buildSitemapIndexXml(entries: AgentWebSitemapIndexEntry[], siteUrl: string): string; export declare function buildLlmsTxt(options: Omit): string; export declare function buildLlmsFullTxt(options: Omit): string; export declare function buildBaseJsonLd(options: { siteName: string; siteUrl: string; description?: string; organization?: AgentWebOrganization; }): ({ "@context": string; "@type": string; name: string; url: string; sameAs?: string[] | undefined; contactPoint?: { "@type": "ContactPoint"; contactType: string; email?: string; telephone?: string; url?: string; } | undefined; address?: { "@type": "PostalAddress"; streetAddress?: string; addressLocality?: string; addressRegion?: string; postalCode?: string; addressCountry?: string; } | undefined; } | { "@context": string; "@type": string; name: string; url: string; description?: string | undefined; })[]; export declare function buildPageJsonLd(options: { siteName: string; siteUrl: string; page: AgentWebPage; }): ({ "@context": string; "@type": string; name: string; url: string; description?: string | undefined; isPartOf: { "@type": string; name: string; url: string; }; itemListElement?: undefined; } | { "@context": string; "@type": string; itemListElement: { "@type": string; position: number; name: string; item: string; }[]; })[]; export declare function buildMarkdownResponseHeaders(options: MarkdownResponseHeadersOptions): Record; export declare function estimateMarkdownTokens(markdown: string): number; export declare function markdownUrlForPage(pagePath: string, markdownPath?: string): string; export declare function markdownFilePathForPage(pagePath: string, markdownPath?: string): string; export declare function absoluteUrl(siteUrl: string, pagePath: string): string;