export interface Column { label: string; /** Alpine.js expression evaluated against the row variable `entry` */ key: string; badge?: boolean; mono?: boolean; className?: string; } export interface EntryListProps { basePath: string; apiPrefix: string; /** Entry type — used in the API path. Special-cased: `query` → `/queries`. */ type: string; /** URL segment used in the detail-page links. Same as the page key in `columns.ts`. */ pageKey: string; title: string; columns: Column[]; /** * Live-update transport. `'polling'` re-fetches the list endpoint every * `pollInterval` ms; `'stream'` opens an SSE connection to * `/stream?type=` and prepends entries as they arrive. */ updates: 'polling' | 'stream'; /** Poll cadence in ms when `updates === 'polling'`. */ pollInterval: number; } /** * Generic master/list page for any watcher type. Renders a table with * search + tag filter + pagination. Each row links to the detail page * at `/{basePath}/{pageKey}/{id}`. * * Phase 2a removed the inline JSON-dump modal in favour of dedicated * detail pages per watcher (see `details/views.ts`). * Phase 2b added the `?tag=` filter and tag pill column. */ export declare function EntryList(props: EntryListProps): string; //# sourceMappingURL=EntryList.d.ts.map