import type { WorkSpreadsheetSheet } from '../work-types'; export type SpreadsheetSelectionMove = 'down' | 'left' | 'next-cell' | 'page-down' | 'page-up' | 'previous-cell' | 'right' | 'row-start' | 'sheet-start' | 'up' | 'used-end'; export type SpreadsheetSelectionScope = 'all' | 'column' | 'row'; export interface SpreadsheetKeyboardSelection { row: number[]; column: number[]; row_focus?: number; column_focus?: number; } export declare function moveSpreadsheetKeyboardSelection(sheet: WorkSpreadsheetSheet, selection: SpreadsheetKeyboardSelection, move: SpreadsheetSelectionMove, extend: boolean): SpreadsheetKeyboardSelection; export declare function scopeSpreadsheetKeyboardSelection(sheet: WorkSpreadsheetSheet, selection: SpreadsheetKeyboardSelection, scope: SpreadsheetSelectionScope): SpreadsheetKeyboardSelection; export declare function isSpreadsheetGridKeyboardTarget(target: EventTarget | null): boolean; export declare function runSpreadsheetSelectionMoveShortcut(event: KeyboardEvent, canExecute: (move: SpreadsheetSelectionMove, extend: boolean) => boolean, execute: (move: SpreadsheetSelectionMove, extend: boolean) => boolean, move: SpreadsheetSelectionMove, extend: boolean): boolean; export declare function runSpreadsheetSelectionScopeShortcut(event: KeyboardEvent, canExecute: (scope: SpreadsheetSelectionScope) => boolean, execute: (scope: SpreadsheetSelectionScope) => boolean, scope: SpreadsheetSelectionScope): boolean; export declare function spreadsheetSelectionContainsFocus(selection: SpreadsheetKeyboardSelection, focus: { column: number; row: number; }): boolean; export declare function spreadsheetSheetBounds(sheet: WorkSpreadsheetSheet): { lastColumn: number; lastRow: number; };