import type { Dispatch, SetStateAction } from 'react';
import type { ColumnTable, ExpandableConfig, IFormat, IWrapSettings, Locale, PaginationConfig, RecordDoubleClickEventArgs, RowClassName, SelectionSettings, SourceFilter } from "./../grid-component/type";
import type { Row } from '@tanstack/react-table';
export type IPositionCell = {
    rowId: string;
    colId: string;
} | undefined;
export interface IContext<T> {
    prefix: string;
    id: string;
    rowKey: string;
    originData: any[];
    dataSource: any[];
    format?: IFormat;
    t?: any;
    expandable?: ExpandableConfig<T>;
    wrapSettings?: IWrapSettings;
    recordDoubleClick?: (args: RecordDoubleClickEventArgs<T>) => void;
    recordClick?: (args: RecordDoubleClickEventArgs<T>) => void;
    selectionSettings?: SelectionSettings;
    onContextMenu?: (data: T) => (event: any) => void;
    locale?: Locale;
    lang?: string;
    windowSize: {
        innerHeight: number;
        innerWidth: number;
    };
    isDataTree?: boolean;
    handleCellClick?: (rowNumber: number, record: T, column: ColumnTable, rowId: string, cellValue: any) => void;
    pagination?: false | PaginationConfig;
    rowClassName?: string | RowClassName<T>;
    onRowStyles?: Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'> | ((data: T, row: Row<T>) => Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'>);
    onRowHeaderStyles?: Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'> | (() => Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'>);
    onRowFooterStyles?: Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'> | (() => Omit<React.CSSProperties, 'display' | 'transform' | 'gridTemplateColumns' | 'height' | 'minHeight'>);
    dataSourceFilter?: SourceFilter[];
    onExpandClick?: (args: {
        expandedKeys: string[];
        key: string;
        rowData: any;
    }) => void;
    setIsExpandClick?: Dispatch<SetStateAction<boolean>>;
}
export declare const TableContext: import("react").Context<IContext<any>>;
