import type { ExplorerEvent } from "./events.js"; import type { Action, ActionContext, ExplorerState, Row, Tone } from "./state.js"; export type ActionSource = "row" | "detail" | "both"; type ExplorerKeypressEvent = Extract["key"]; export type ActionRuntimeHandles = { refresh: () => Promise; reloadDetail: (rowId?: string) => void; suspendAnd: (fn: () => Promise) => Promise; openModal: (content: { title: string; content: string; }) => void; toast: (msg: string, tone?: Tone) => void; confirm: ActionContext["confirm"]; promptText: ActionContext["promptText"]; exit: (after?: () => void | Promise) => void; }; export declare function resolveAction(state: ExplorerState, keyEvent: ExplorerKeypressEvent): Action | null; export declare function buildActionContext(state: ExplorerState, _action: Action, source: ActionSource, runtimeHandles: ActionRuntimeHandles, rowsOverride?: Row[]): ActionContext; export {};