import type { HttpMethod } from '@scalar/helpers/http/http-methods'; import { type ComputedRef, type Ref } from 'vue'; /** One selectable row: operation example (path + method + exampleKey) with stable id */ export type SelectedItem = { id: string; path: string; method: HttpMethod; exampleKey: string; label: string; }; type UseRunnerSelectionOptions = { /** Whether selection modifications are locked (e.g., during a run) */ isLocked: () => boolean; }; type UseRunnerSelectionReturn = { /** Ordered list of selected items */ selectedOrder: Ref; /** Whether any items are selected */ hasSelection: ComputedRef; /** Check if a specific operation example is selected */ isSelected: (path: string, method: HttpMethod, exampleKey: string) => boolean; /** Toggle selection of an operation example */ toggle: (path: string, method: HttpMethod, exampleKey: string, label: string) => void; /** Clear all selections */ clearAll: () => void; /** Remove a specific item from the selection */ removeFromOrder: (item: SelectedItem) => void; /** Drag state for reordering */ dragState: { draggedIndex: Ref; dragOverIndex: Ref; dragOffset: Ref<'before' | 'after' | null>; }; /** Drag event handlers */ handleDragStart: (index: number, event: DragEvent) => void; handleDragOver: (index: number, event: DragEvent) => void; handleDragLeave: () => void; handleDrop: (event: DragEvent) => void; handleDragEnd: () => void; }; /** * Composable for managing runner selection state and drag-and-drop reordering. */ export declare function useRunnerSelection({ isLocked }: UseRunnerSelectionOptions): UseRunnerSelectionReturn; export {}; //# sourceMappingURL=use-runner-selection.d.ts.map