import type { Ref, SetupContext } from 'vue';
import type { RecordString, KeydownEventParams, HeaderCellClickEventParams, HeaderCellDblclickEventParams, HeaderCellMenuEventParams, CellClickEventParams, CellDblclickEventParams, CellMenuEventParams, FooterCellClickEventParams, FooterCellDblclickEventParams, FooterCellMenuEventParams, RadioChangeEventParams, CheckboxChangeEventParams, CheckboxAllEventParams, ScrollEventParams, ZoomEventParams, CustomEventParams, CellAreaCutParams, CellAreaCopyParams, CellAreaPasteParams } from '../../../edit-page-layout';
export default function useGridEvents(ctx: SetupContext, pageData: Ref<RecordString>): {
    cacheRows: Ref<RecordString[]>;
    cacheGroupCode: Ref<string>;
    cacheEventParams: Ref<CellClickEventParams | null | undefined>;
    handleGridKeydown: (params: KeydownEventParams) => void;
    handleGridHeaderCellClick: (params: HeaderCellClickEventParams) => void;
    handleGridHeaderCellDblclick: (params: HeaderCellDblclickEventParams) => void;
    handleGridHeaderCellMenu: (params: HeaderCellMenuEventParams) => void;
    handleGridCellClick: (params: CellClickEventParams) => void;
    handleGridCellDblclick: (params: CellDblclickEventParams) => void;
    handleGridCellMenu: (params: CellMenuEventParams) => void;
    handleGridFooterCellClick: (params: FooterCellClickEventParams) => void;
    handleGridFooterCellDblclick: (params: FooterCellDblclickEventParams) => void;
    handleGridFooterCellMenu: (params: FooterCellMenuEventParams) => void;
    handleGridRadioChange: (params: RadioChangeEventParams) => void;
    handleGridCheckboxChange: (params: CheckboxChangeEventParams) => void;
    handleGridCheckboxAll: (params: CheckboxAllEventParams) => void;
    handleGridScroll: (params: ScrollEventParams) => void;
    handleGridZoom: (params: ZoomEventParams) => void;
    handleGridCustom: (params: CustomEventParams) => void;
    handleGridCellAreaCopy: (params: CellAreaCopyParams) => void;
    handleGridCellAreaCut: (params: CellAreaCutParams) => void;
    handleGridCellAreaPaste: (params: CellAreaPasteParams) => void;
};
