import { Querier } from '@platform-modules/db';
import { C as ContentSchema, a as ContentEntry } from './authz-AVHoDrJ4.js';
import { L as ListQuery, S as StoreOpts } from './store-BzEOze6b.js';
import 'drizzle-orm/pg-core';

type FeedFormat = 'rss' | 'json';
type FeedMeta = {
    title: string;
    siteUrl: string;
    feedUrl: string;
    description?: string;
};
/** Pure projection of PUBLISHED entries to RSS 2.0 or JSON Feed 1.1. No deps, no I/O. */
declare function toFeed(entries: ContentEntry[], format: FeedFormat, meta: FeedMeta): string;
/**
 * Safe-by-construction public feed (visibility spec §3.1). Lists with the ANONYMOUS
 * viewer (`null`) then formats — so the ONLY entries it can ever syndicate are the
 * published+public anonymous-floor set. Use this for any public syndication route:
 * it has no viewer arg to get wrong, making the read-floor STRUCTURAL not disciplinary.
 * (`toFeed` remains for adopters who already hold an anonymous-listed array.)
 */
declare function feedFrom(db: Querier<ContentSchema>, query: ListQuery, format: FeedFormat, meta: FeedMeta, opts?: StoreOpts): Promise<string>;

export { type FeedFormat, type FeedMeta, feedFrom, toFeed };
