import type { RefObject } from "react";
import type { CanvasSelection } from "./useWorkflowCanvas";
/** Options for {@link useCanvasKeyboardShortcuts}. */
export interface UseCanvasKeyboardShortcutsOptions {
    readonly containerRef: RefObject<HTMLDivElement | null>;
    readonly selection: CanvasSelection | null;
    readonly duplicateNode: (nodeId: string) => void;
    readonly selectAll: () => void;
    readonly clearSelection: () => void;
    readonly onRequestTaskPicker: (position: {
        x: number;
        y: number;
    }, sourceNodeId?: string) => void;
    readonly onDismiss: () => void;
    readonly copySelection?: () => void;
    readonly pasteAtCenter?: () => void;
    readonly cutSelection?: () => void;
}
/**
 * Canvas-scoped keyboard shortcuts for the workflow editor.
 *
 * Binds shortcuts that are only active when focus is inside the canvas
 * container, using the same capture-phase listener pattern as
 * {@link useGraphHistory} (undo/redo). Bare-key shortcuts (N, Escape)
 * are suppressed when a text input has focus.
 *
 * | Shortcut          | Action                                |
 * |-------------------|---------------------------------------|
 * | `Ctrl/Cmd+D`      | Duplicate selected node               |
 * | `Ctrl/Cmd+A`      | Select all non-sentinel nodes         |
 * | `Ctrl/Cmd+C`      | Copy selected node(s) to clipboard    |
 * | `Ctrl/Cmd+V`      | Paste from clipboard                  |
 * | `Ctrl/Cmd+X`      | Cut (copy + delete)                   |
 * | `N` (bare key)    | Open task picker                      |
 * | `Escape`          | Clear selection / close open overlays |
 *
 * @internal Not exported from the SDK barrel.
 */
export declare function useCanvasKeyboardShortcuts({ containerRef, selection, duplicateNode, selectAll, clearSelection, onRequestTaskPicker, onDismiss, copySelection, pasteAtCenter, cutSelection, }: UseCanvasKeyboardShortcutsOptions): void;
//# sourceMappingURL=useCanvasKeyboardShortcuts.d.ts.map