import { GridPosition } from './use-grid-keyboard-navigation';
export interface ClipboardData {
    values: string[][];
    positions: GridPosition[];
    type: 'copy' | 'cut';
}
export interface UseGridClipboardProps<T> {
    data: T[];
    columns: Array<{
        id: string;
        accessorKey: string;
    }>;
    selectedPositions: GridPosition[];
    onCellUpdate?: (rowIndex: number, columnId: string, value: any) => void;
    onPasteComplete?: (affectedCells: GridPosition[]) => void;
}
export interface UseGridClipboardReturn {
    clipboardData: ClipboardData | null;
    copySelection: () => Promise<void>;
    cutSelection: () => Promise<void>;
    paste: (targetPosition: GridPosition) => Promise<void>;
    handleKeyboardShortcuts: (event: React.KeyboardEvent, currentPosition?: GridPosition) => void;
    canPaste: boolean;
}
export declare function useGridClipboard<T>({ data, columns, selectedPositions, onCellUpdate, onPasteComplete, }: UseGridClipboardProps<T>): UseGridClipboardReturn;
//# sourceMappingURL=use-grid-clipboard.d.ts.map