/** * Changelog UI — renders an app's CHANGELOG.md as an in-app "What's new" * surface. Core owns all of this; a template just passes its own * `CHANGELOG.md?raw` content in (Vite inlines it at build time, so this works * on every host with no runtime file access or server route). * * Surfaces: * - a self-contained modal listing every release. * - a settings-page card with the latest updates. * - useChangelogSeen() tracks the last release a user has seen (so the * command menu can show an "unseen" dot). * * The command menu's built-in `changelog` prop (see CommandMenu.tsx) wires the * dialog automatically — most templates never touch these directly. */ import React from "react"; import { parseChangelog, type ChangelogEntry } from "../../changelog/parse.js"; /** * Tracks the latest release a user has already seen (per browser, via * localStorage). Returns whether there's an unseen release and a `markSeen` * callback to clear the indicator once the changelog is opened. */ export declare function useChangelogSeen(appKey: string, latestId: string | undefined): { unseen: boolean; markSeen: () => void; }; export interface ChangelogDialogProps { open: boolean; onOpenChange: (open: boolean) => void; /** Raw CHANGELOG.md contents (e.g. `import md from "../CHANGELOG.md?raw"`). */ markdown: string; /** Dialog heading. Default: "What's new". */ title?: string; closeLabel?: string; emptyText?: string; } export declare function ChangelogDialog({ open, onOpenChange, markdown, title, closeLabel, emptyText, }: ChangelogDialogProps): React.JSX.Element | null; export interface ChangelogSettingsCardProps { /** Raw CHANGELOG.md contents (e.g. `import md from "../CHANGELOG.md?raw"`). */ markdown: string; /** How many recent releases to show inline before "View all". Default: 2. */ limit?: number; /** Card heading. Default: "What's new". */ title?: string; closeLabel?: string; emptyText?: string; viewAllLabel?: string; className?: string; } export declare function ChangelogSettingsCard({ markdown, limit, title, closeLabel, emptyText, viewAllLabel, className, }: ChangelogSettingsCardProps): React.JSX.Element | null; export { parseChangelog }; export type { ChangelogEntry }; //# sourceMappingURL=Changelog.d.ts.map