import { z } from 'astro/zod'; import { rssSchema } from './schema.js'; export { rssSchema }; export type RSSOptions = { /** Title of the RSS Feed */ title: z.infer['title']; /** Description of the RSS Feed */ description: z.infer['description']; /** * Specify the base URL to use for RSS feed links. * We recommend using the [endpoint context object](https://docs.astro.build/en/reference/api-reference/#contextsite), * which includes the `site` configured in your project's `astro.config.*` */ site: z.infer['site']; /** List of RSS feed items to render. */ items: RSSFeedItem[] | GlobResult; /** Specify arbitrary metadata on opening tag */ xmlns?: z.infer['xmlns']; /** * Specifies a local custom XSL stylesheet. Ex. '/public/custom-feed.xsl' */ stylesheet?: z.infer['stylesheet']; /** Specify custom data in opening of file */ customData?: z.infer['customData']; /** Whether to include drafts or not */ drafts?: z.infer['drafts']; trailingSlash?: z.infer['trailingSlash']; }; export type RSSFeedItem = { /** Link to item */ link: string; /** Full content of the item. Should be valid HTML */ content?: string | undefined; /** Title of item */ title: z.infer['title']; /** Publication date of item */ pubDate: z.infer['pubDate']; /** Item description */ description?: z.infer['description']; /** Append some other XML-valid data to this item */ customData?: z.infer['customData']; /** Whether draft or not */ draft?: z.infer['draft']; /** Categories or tags related to the item */ categories?: z.infer['categories']; /** The item author's email address */ author?: z.infer['author']; /** A URL of a page for comments related to the item */ commentsUrl?: z.infer['commentsUrl']; /** The RSS channel that the item came from */ source?: z.infer['source']; /** A media object that belongs to the item */ enclosure?: z.infer['enclosure']; }; type ValidatedRSSFeedItem = z.infer; type GlobResult = z.infer; declare const rssFeedItemValidator: z.ZodObject<{ title: z.ZodString; pubDate: z.ZodEffects, Date, string | number | Date>, Date, string | number | Date>; description: z.ZodOptional; customData: z.ZodOptional; draft: z.ZodOptional; categories: z.ZodOptional>; author: z.ZodOptional; commentsUrl: z.ZodOptional; source: z.ZodOptional>; enclosure: z.ZodOptional>; link: z.ZodString; content: z.ZodOptional; }, "strip", z.ZodTypeAny, { description?: string | undefined; customData?: string | undefined; draft?: boolean | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; content?: string | undefined; title: string; pubDate: Date; link: string; }, { description?: string | undefined; customData?: string | undefined; draft?: boolean | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; content?: string | undefined; title: string; pubDate: string | number | Date; link: string; }>; declare const globResultValidator: z.ZodRecord, z.ZodPromise>>; declare const rssOptionsValidator: z.ZodObject<{ title: z.ZodString; description: z.ZodString; site: z.ZodEffects; items: z.ZodEffects, Date, string | number | Date>, Date, string | number | Date>; description: z.ZodOptional; customData: z.ZodOptional; draft: z.ZodOptional; categories: z.ZodOptional>; author: z.ZodOptional; commentsUrl: z.ZodOptional; source: z.ZodOptional>; enclosure: z.ZodOptional>; link: z.ZodString; content: z.ZodOptional; }, "strip", z.ZodTypeAny, { description?: string | undefined; customData?: string | undefined; draft?: boolean | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; content?: string | undefined; title: string; pubDate: Date; link: string; }, { description?: string | undefined; customData?: string | undefined; draft?: boolean | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; content?: string | undefined; title: string; pubDate: string | number | Date; link: string; }>, "many">, z.ZodRecord, z.ZodPromise>>]>, { description?: string | undefined; customData?: string | undefined; draft?: boolean | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; content?: string | undefined; title: string; pubDate: Date; link: string; }[], { description?: string | undefined; customData?: string | undefined; draft?: boolean | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; content?: string | undefined; title: string; pubDate: string | number | Date; link: string; }[] | Record Promise>>; xmlns: z.ZodOptional>; drafts: z.ZodDefault; stylesheet: z.ZodOptional>; customData: z.ZodOptional; trailingSlash: z.ZodDefault; }, "strip", z.ZodTypeAny, { customData?: string | undefined; xmlns?: Record | undefined; stylesheet?: string | boolean | undefined; title: string; description: string; trailingSlash: boolean; site: string; items: { description?: string | undefined; customData?: string | undefined; draft?: boolean | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; content?: string | undefined; title: string; pubDate: Date; link: string; }[]; drafts: boolean; }, { customData?: string | undefined; trailingSlash?: boolean | undefined; site?: unknown; xmlns?: Record | undefined; drafts?: boolean | undefined; stylesheet?: string | boolean | undefined; title: string; description: string; items: { description?: string | undefined; customData?: string | undefined; draft?: boolean | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; content?: string | undefined; title: string; pubDate: string | number | Date; link: string; }[] | Record Promise>; }>; export default function getRSS(rssOptions: RSSOptions): Promise<{ body: string; }>; export declare function pagesGlobToRssItems(items: GlobResult): Promise;