/** * The meetings view: build a group-meeting (组会) pptx from the selected * project's wiki material. The form carries the deck title/presenter/date, * the four section switches (progress/experiments/figures/papers), an AI * illustration switch (cover + per-paper concept images, host-side when the * image API is configured), a paper multi-select (pre-picked to the top 5 by * the project's AI relevance verdicts, with a title/author/tag search box, * the verdict score + reason per row, and a picked-count line; unpicking all * means the deck has no papers section), and a figure multi-select (empty = * every figure with a raster sibling). Below the form a collapsible section edits * the image-gen API config (baseUrl/model/size/key, key masked host-side). * Generate calls the host's deterministic renderer (no agent round-trip); * the produced deck lands in `meetings//` and lists below with * download (the `/research/meeting` attachment route) and delete actions. * @module dsh-client-ui-mimir/client/MeetingsView */ import type { FigureEntry, MeetingDeckView, MeetingInclude } from 'dsh-mimir/types'; import type { ResearchFailureView, ResearchImageGenView, ResearchPapersView, ResearchProjectSlice } from './controller.ts'; import { type ResearchT } from './view-common.ts'; /** * @param props - the selected project, the meetings/papers/figures/image-gen * slices, the load/generate/delete verbs, the image-gen config verbs, and copy. * @returns the meetings view. */ export declare function MeetingsView({ projectId, dir, meetings, papers, figures, imageGen, ensurePapers, loadFigures, loadMeetings, generateMeetingDeck, deleteMeetingDeck, getImageGenConfig, saveImageGenConfig, t, }: { readonly projectId: string | null; readonly dir: string | undefined; readonly meetings: ResearchProjectSlice | null; readonly papers: ResearchPapersView; readonly figures: ResearchProjectSlice | null; readonly imageGen: ResearchImageGenView; readonly ensurePapers: () => void; readonly loadFigures: (projectId: string, force?: boolean, quiet?: boolean) => void; readonly loadMeetings: (projectId: string, force?: boolean) => void; readonly generateMeetingDeck: (projectId: string, request: { title?: string | undefined; presenter?: string | undefined; date?: string | undefined; paperIds?: readonly string[] | undefined; figureRelPaths?: readonly string[] | undefined; include?: Partial | undefined; aiIllustrations?: boolean | undefined; }) => Promise; readonly deleteMeetingDeck: (projectId: string, file: string) => Promise; readonly getImageGenConfig: () => void; readonly saveImageGenConfig: (input: { baseUrl?: string | undefined; apiKey?: string | undefined; model?: string | undefined; size?: string | undefined; }) => Promise; readonly t: ResearchT; }): import("react").JSX.Element; //# sourceMappingURL=MeetingsView.d.ts.map