import type { ReactNode } from 'react'; export type Difficulty = 'beginner' | 'intermediate' | 'advanced'; export type ScenarioStatus = 'queued' | 'completed'; export interface Scenario { id: string; title: string; category: string; difficulty: Difficulty; /** Display string, e.g. "10-15 min" */ duration: string; status: ScenarioStatus; /** True when this card was previously completed and re-queued by the user */ wasRequeued?: boolean; } export declare const difficultyColorMap: Record; export declare const difficultyLabel: Record; export interface ScenarioQueueProps { /** All scenarios — the component splits them by status internally */ scenarios: Scenario[]; /** Called when user reorders cards in the "In Queue" tab */ onReorder?: (reorderedIds: string[]) => void; /** Called when user toggles a completed scenario back to the queue */ onRequeue?: (scenarioId: string) => void; /** Called when user removes a scenario from the queue */ onRemove?: (scenarioId: string) => void; /** * Render prop / slot for the Add Scenario modal body. * The design system provides the Dialog shell; the consumer (discourser.ai) * provides the collection content. * * Receives `onClose` to allow the consumer to close the modal after selection. */ renderAddScenarioContent?: (props: { onClose: () => void; }) => ReactNode; /** Called when user clicks "Browse More Scenarios" link inside the modal */ onBrowseMore?: () => void; /** Called when user clicks "Build Custom Scenario" link inside the modal */ onBuildCustom?: () => void; } export interface ScenarioCardProps { scenario: Scenario; /** 1-based position number shown in the circle badge */ position: number; /** Whether this card is the active (first) scenario */ isActive: boolean; /** Show the re-queue switch (used in Completed tab) */ showRequeueSwitch?: boolean; /** Called when re-queue switch is toggled */ onRequeue?: (scenarioId: string) => void; /** Whether this is a repeat scenario */ isRepeat?: boolean; /** Visual state while the card is being dragged (applies opacity) */ isDragging?: boolean; } //# sourceMappingURL=types.d.ts.map