import { type UseRoadmapVotingOptions } from './use-roadmap-voting'; import type { RoadmapItem } from '../../chat/types/entities/roadmap-item'; export interface RoadmapGridProps { items: RoadmapItem[]; onItemUpdate?: (updatedItem: RoadmapItem) => void; /** Show the desktop left margin (~120px) that aligns the grid with the page * hero. Default `true`. Related-content rails pass `false`. */ showLeftMargin?: boolean; /** * Columns at `md` and up. Default `2` (the roadmap page). * * A card in this grid needs real width — its title, status badge, target * version and vote row sit on one line each. Two columns inside a NARROW * host (a modal rail, a sidebar) halve an already-small container and crush * every one of them, so such hosts pass `1`. */ columns?: 1 | 2; /** URL builder for the per-task refresh call after a successful vote. */ buildRefreshUrl?: (taskId: string) => string; /** Voting hook options (vote endpoint + storage key). */ votingOptions?: UseRoadmapVotingOptions; /** Group items into collapsible per-quarter accordions. Default `false` * (flat grid) so EXISTING callers — the hub's per-quarter RoadmapGrid calls * and related-content rails — stay unchanged. `RoadmapView` / full-page * callers pass `true` to get the shared quarter grouping. */ groupByQuarter?: boolean; /** When true (search/filter active), every quarter expands so results aren't * hidden in collapsed sections. Threaded from `RoadmapView`. */ hasActiveFilters?: boolean; /** Past quarters within this window of the current quarter stay open by * default; older ones collapse. Default `2`. */ quartersToKeepClosed?: number; } export declare function RoadmapGrid({ items, onItemUpdate, showLeftMargin, columns, buildRefreshUrl, votingOptions, groupByQuarter, hasActiveFilters, quartersToKeepClosed, }: RoadmapGridProps): import("react").JSX.Element; //# sourceMappingURL=roadmap-grid.d.ts.map