import './index.less';
import React from 'react';
import { type DripTableExtraOptions, type DripTableProps, type DripTableRecordTypeBase, type DripTableRecordTypeWithSubtable } from "../types";
import { type IDripTableContext } from "../hooks";
import { type ExtractDripTableExtraOption } from "../index";
/**
 * 暴露给外部直接操作实例的接口
 */
export interface DripTableWrapperContext<RecordType extends DripTableRecordTypeWithSubtable<DripTableRecordTypeBase, ExtractDripTableExtraOption<ExtraOptions, 'SubtableDataSourceKey'>> = DripTableRecordTypeWithSubtable<DripTableRecordTypeBase, never>, ExtraOptions extends Partial<DripTableExtraOptions> = never> {
    /**
     * 当前选中行数据
     */
    selectedRowKeys: IDripTableContext<RecordType, ExtraOptions>['state']['selectedRowKeys'];
    /**
     * 通过接口选择行
     *
     * @param selectedRowKeys 选中的行标识符数组
     */
    select: (selectedRowKeys: IDripTableContext<RecordType, ExtraOptions>['state']['selectedRowKeys']) => void;
    /**
     * 当前显示列数据
     */
    displayColumnKeys: IDripTableContext<RecordType, ExtraOptions>['state']['displayColumnKeys'];
    /**
     * 通过接口设置展示列
     *
     * @param displayColumnKeys 展示列标识符数组
     */
    setDisplayColumnKeys: (displayColumnKeys: IDripTableContext<RecordType, ExtraOptions>['state']['displayColumnKeys']) => void;
    /**
     * 当前排序器
     */
    sorter: IDripTableContext<RecordType, ExtraOptions>['state']['sorter'];
    /**
     * 通过接口设置当前排序
     *
     * @param sorter 目标排序设置
     */
    setSorter: (sorter: Omit<IDripTableContext<RecordType, ExtraOptions>['state']['sorter'], 'comparer'> | null) => void;
}
declare const DripTableWrapper: <RecordType extends DripTableRecordTypeWithSubtable<DripTableRecordTypeBase, ExtractDripTableExtraOption<ExtraOptions, "SubtableDataSourceKey">>, ExtraOptions extends Partial<DripTableExtraOptions> = never>(props: DripTableProps<RecordType, ExtraOptions> & React.RefAttributes<DripTableWrapperContext<RecordType, ExtraOptions>>) => (React.ReactElement | null);
export default DripTableWrapper;
