import type { InjectionKey, PropType } from 'vue'; import type { CellEditorArgs, CellRenderArgs, ColumnDragGhostArg, ColumnType, ContextmenuPopupArg, DefaultRecordType, ExpandedRowRender, MenuPopupArg, RowDragGhostArg } from '../interface'; export declare type ContextSlots = { emptyText?: () => any; expandIcon?: (...args: any[]) => any; title?: () => any; footer?: () => any; summary?: (...args: any[]) => any; bodyCell?: (args: CellRenderArgs) => any; headerCell?: (opt: { title: any; column: ColumnType; }) => any; customFilterIcon?: (...args: any[]) => any; customFilterDropdown?: (...args: any[]) => any; tooltipTitle?: (args: Omit) => any; rowDragGhost?: (arg: RowDragGhostArg) => any; columnDragGhost?: (arg: ColumnDragGhostArg) => any; contextmenuPopup?: (arg: ContextmenuPopupArg) => any; menuPopup?: (arg: MenuPopupArg) => any; menuIcon?: (arg: { column: ColumnType; filtered: boolean; }) => any; cellEditor?: (arg: CellEditorArgs) => any; expandedRowRender?: ExpandedRowRender; [key: string]: ((...args: any[]) => any) | undefined; }; export declare const ContextKey: InjectionKey; export declare const useInjectSlots: () => ContextSlots; export declare const TableSlotsContextProvider: import("vue").DefineComponent; }; }>, () => import("vue").VNode[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; }; }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;