import type { SlashCommandRegistry } from '@wrongstack/core/registry'; import type { QueueStore } from '@wrongstack/core/storage'; import type { Action, State } from '../app-reducer.js'; import type { Settings } from '../app-state.js'; export interface UseQueueManagerOptions { /** Optional persistent store — absent => in-memory only (no crash recovery). */ queueStore?: QueueStore | undefined; /** Called on every queue change so the host learns what's waiting. */ onQueueChange?: ((items: string[]) => void) | undefined; /** Slash registry to register the /queue command. */ slashRegistry: SlashCommandRegistry; /** Live state snapshot (ref, not render-state) for slash command closures. */ stateRef: React.MutableRefObject; dispatch: React.Dispatch; /** Settings access for persisting the mid-run send-mode picker toggle. */ getSettings?: (() => Settings) | undefined; saveSettings?: ((settings: Settings) => string | Promise | null) | undefined; /** Live mirror of the mid-run send-mode picker enabled flag. */ midRunSendPickerRef: React.MutableRefObject; } /** * Manages the TUI message queue: rehydration from persistent store, * persistence on every change, host mirroring, and the /queue slash * command. All side-effect wiring extracted from app.tsx. */ export declare function useQueueManager({ queueStore, onQueueChange, slashRegistry, stateRef, dispatch, getSettings, saveSettings, midRunSendPickerRef, }: UseQueueManagerOptions): void; //# sourceMappingURL=use-queue-manager.d.ts.map