import type { InjectionKey, Ref, PropType, CSSProperties } from 'vue'; import type { FinallyColumnType } from '../interface'; export interface SummaryCtxType { columns: FinallyColumnType[]; type: 'left' | 'center' | 'right'; } export declare const SummaryCtx: InjectionKey; export interface SummaryCellConfig { index: number; width: number; visible: boolean; style: CSSProperties; fixed?: 'right' | 'left'; isLastFixedLeft?: boolean; isFirstFixedRight?: boolean; } interface SummaryRowCtxType { updateCell: (id: string, index: number, colSpan: number) => void; removeCell: (id: string) => void; cells: Ref; } export declare const useProvideSummaryRow: (props: SummaryRowCtxType) => void; export declare const useInjectSummaryRow: () => SummaryRowCtxType; export declare const useProvideSummary: (props: SummaryCtxType) => void; export declare const useInjectSummary: () => SummaryCtxType; export declare const SummaryContextProvider: import("vue").DefineComponent; }; }>, () => import("vue").VNode[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; }; }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export declare const useProvideHackCells: () => void; export declare const useInjectHackCells: () => { isHack: boolean; }; export {};