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'] | URL; /** 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']; trailingSlash?: z.infer['trailingSlash']; }; export type RSSFeedItem = { /** Link to item */ link: z.infer['link']; /** Full content of the item. Should be valid HTML */ content?: z.infer['content']; /** 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']; /** 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 globResultValidator: z.ZodRecord, z.ZodPromise>>; declare const rssOptionsValidator: z.ZodObject<{ title: z.ZodString; description: z.ZodString; site: z.ZodEffects; items: z.ZodEffects; description: z.ZodOptional; pubDate: z.ZodEffects>, Date | undefined, string | number | Date | undefined>, Date | undefined, string | number | Date | undefined>; customData: z.ZodOptional; categories: z.ZodOptional>; author: z.ZodOptional; commentsUrl: z.ZodOptional; source: z.ZodOptional>; enclosure: z.ZodOptional>; link: z.ZodOptional; content: z.ZodOptional; }, "strip", z.ZodTypeAny, { title?: string | undefined; description?: string | undefined; pubDate?: Date | undefined; customData?: string | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; link?: string | undefined; content?: string | undefined; }, { title?: string | undefined; description?: string | undefined; pubDate?: string | number | Date | undefined; customData?: string | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; link?: string | undefined; content?: string | undefined; }>, "many">, z.ZodRecord, z.ZodPromise>>]>, { title?: string | undefined; description?: string | undefined; pubDate?: Date | undefined; customData?: string | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; link?: string | undefined; content?: string | undefined; }[], { title?: string | undefined; description?: string | undefined; pubDate?: string | number | Date | undefined; customData?: string | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; link?: string | undefined; content?: string | undefined; }[] | Record Promise>>; xmlns: z.ZodOptional>; stylesheet: z.ZodOptional>; customData: z.ZodOptional; trailingSlash: z.ZodDefault; }, "strip", z.ZodTypeAny, { title: string; description: string; trailingSlash: boolean; site: string; items: { title?: string | undefined; description?: string | undefined; pubDate?: Date | undefined; customData?: string | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; link?: string | undefined; content?: string | undefined; }[]; xmlns?: Record | undefined; stylesheet?: string | boolean | undefined; customData?: string | undefined; }, { title: string; description: string; items: ({ title?: string | undefined; description?: string | undefined; pubDate?: string | number | Date | undefined; customData?: string | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; link?: string | undefined; content?: string | undefined; }[] | Record Promise>) & ({ title?: string | undefined; description?: string | undefined; pubDate?: string | number | Date | undefined; customData?: string | undefined; categories?: string[] | undefined; author?: string | undefined; commentsUrl?: string | undefined; source?: { title: string; url: string; } | undefined; enclosure?: { length: number; type: string; url: string; } | undefined; link?: string | undefined; content?: string | undefined; }[] | Record Promise> | undefined); site?: unknown; xmlns?: Record | undefined; stylesheet?: string | boolean | undefined; customData?: string | undefined; trailingSlash?: boolean | undefined; }>; export default function getRssResponse(rssOptions: RSSOptions): Promise; export declare function getRssString(rssOptions: RSSOptions): Promise; export declare function pagesGlobToRssItems(items: GlobResult): Promise;