import { type IntakeBinding } from "../intake/protocol.js"; import type { EventEnvelope } from "../types.js"; export declare const FEED_PROTOCOL = "hasna.events.feed.v1"; export declare const MAX_FEED_EVENTS = 20; export declare const MAX_FEED_BYTES: number; export interface FeedBinding extends IntakeBinding { consumer_id: string; } export interface FeedFilter { types: string[]; subject?: string; } export interface FeedEvent { event_id: string; envelope_sha256: string; accepted_at: string; envelope: EventEnvelope; } export interface FeedPage extends FeedBinding { protocol: typeof FEED_PROTOCOL; tenant_id: string; filter: FeedFilter; events: FeedEvent[]; cursor: string; has_more: boolean; initialized: boolean; } export declare function feedBinding(raw: unknown): FeedBinding; export declare function feedTypes(raw: unknown): string[]; export declare function feedFilter(raw: unknown): FeedFilter; export declare function feedLimit(raw?: unknown): number; export declare function feedCursor(raw: unknown): string; export declare function validateFeedPage(raw: unknown, binding: FeedBinding, tenant: string, filter: FeedFilter): FeedPage;