///
import type { ColumnsType, ColumnType, Direction, ExpandableType, ExpandedRowRender, GetComponent, GetComponentProps, GetRowKey, RenderExpandIcon, RowClassName, TableLayout, TriggerEventHandler } from '../interface';
import type { FixedInfo } from '../utils/fixUtil';
declare const makeImmutable: >(Component: T, shouldTriggerRender?: import("@rc-component/context/lib/Immutable").CompareProps) => T, responseImmutable: >(Component: T_1, propsAreEqual?: import("@rc-component/context/lib/Immutable").CompareProps) => T_1, useImmutableMark: () => number;
export { makeImmutable, responseImmutable, useImmutableMark };
export interface TableContextProps {
scrollX: number | string | true;
prefixCls: string;
getComponent: GetComponent;
scrollbarSize: number;
direction: Direction;
fixedInfoList: readonly FixedInfo[];
isSticky: boolean;
supportSticky: boolean;
componentWidth: number;
fixHeader: boolean;
fixColumn: boolean;
horizonScroll: boolean;
rowClassName: string | RowClassName;
expandedRowClassName: RowClassName;
onRow?: GetComponentProps;
emptyNode?: React.ReactNode;
tableLayout: TableLayout;
indentSize: number;
expandableType: ExpandableType;
expandRowByClick: boolean;
expandedRowRender: ExpandedRowRender;
expandIcon: RenderExpandIcon;
onTriggerExpand: TriggerEventHandler;
expandIconColumnIndex: number;
allColumnsFixedLeft: boolean;
columns: ColumnsType;
flattenColumns: readonly ColumnType[];
onColumnResize: (columnKey: React.Key, width: number) => void;
hoverStartRow: number;
hoverEndRow: number;
onHover: (start: number, end: number) => void;
rowExpandable: (record: RecordType) => boolean;
expandedKeys: Set;
getRowKey: GetRowKey;
childrenColumnName: string;
}
declare const TableContext: import("@rc-component/context").SelectorContext>;
export default TableContext;