/** * SearchFlowApp - Single App for search -t flow * * Manages state transitions: search → action → (style/output-format if needed) * Following React Ink Single App Pattern (ADR-015) */ import type React from "react"; import type { CitationKeyFormat } from "../../../config/schema.js"; import type { CslItem } from "../../../core/csl-json/types.js"; import { type ActionMenuResult } from "../action-menu.js"; import { type Choice, type SortOption } from "../components/index.js"; /** * Props for SearchFlowApp */ export interface SearchFlowAppProps { /** Choices for the search prompt */ choices: Choice[]; /** Filter function for search */ filterFn: (query: string, choices: Choice[]) => Choice[]; /** Number of visible items */ visibleCount: number; /** Default sort option */ defaultSort: SortOption; /** Default citation key format */ defaultKeyFormat: CitationKeyFormat; /** Default citation style */ defaultStyle: string; /** Debounce delay in milliseconds for search filtering */ debounceMs?: number; /** Callback when flow completes */ onComplete: (result: ActionMenuResult) => void; /** Callback when flow is cancelled */ onCancel: () => void; } /** * SearchFlowApp component * * Single App that manages search → action → style/output-format flow */ export declare function SearchFlowApp({ choices, filterFn, visibleCount, defaultSort, defaultKeyFormat, defaultStyle, debounceMs, onComplete, onCancel, }: SearchFlowAppProps): React.ReactElement; //# sourceMappingURL=SearchFlowApp.d.ts.map