import React from 'react';
import { DataSourceTableProps } from '../type';
import { OperationItem } from '../type';
interface UseTablePropsProps {
    data: any;
    originProps: DataSourceTableProps;
    openDrawer: (type: OperationItem) => void;
    closeDrawer: () => void;
    refreshData: () => void;
    handleFilterChange: (changedFields: any, allFields: any) => void;
    tableRef: any;
}
/**
 * 处理table的props
 * 转换title
 * @param props
 * @returns
 */
declare const useTableProps: (props: UseTablePropsProps) => {
    title: string | number | boolean | React.ReactFragment | JSX.Element | (() => React.ReactNode) | null | undefined;
    pagination: {
        total: number;
        current: number;
        pageSize: number;
        size: string;
        showSizeChanger: boolean;
    };
    columns: import("./useColumns").Column[];
    subTitle: string | number | boolean | React.ReactFragment | JSX.Element | (() => React.ReactNode) | null | undefined;
    buttons: any[] | null;
    filter: JSX.Element | null;
    onRow: (record: any) => any;
    actionButtons: any[] | null;
    titleButtons?: {
        show: boolean;
        maxCount: number;
        items: OperationItem[];
    } | undefined;
    tableButtons?: {
        show: boolean;
        maxCount: number;
        items: OperationItem[];
    } | undefined;
    operation?: {
        show: boolean;
        title: string; /**
         * 处理table的props
         * 转换title
         * @param props
         * @returns
         */
        width: number;
        align: "center" | "left" | "right";
        fixed: false | "left" | "right";
        type: "button" | "link";
        items: OperationItem[];
    } | undefined;
    operationContent?: {
        [key: string]: React.ReactNode;
    } | undefined;
    dataSource: import("../../provider/dataSource/DataSourceContext").DataSourceType;
    search?: {
        show: boolean;
        placeholder: string;
    } | undefined;
    __designMode: string;
    componentId: string;
    clickToDetail?: {
        show: boolean;
        useCustomAction: boolean;
        actionType: string;
        openMode: "modal" | "drawer";
        openContentSize: "large" | "middle" | "small";
        openTitle: string;
        key: string;
    } | undefined;
    filterBy?: Record<string, any> | undefined;
    sortBy: string;
    tabs?: {
        show: boolean;
        type: string;
        items: {
            name: string;
            filterBy: Record<string, any>;
            sortBy: string;
        }[];
    } | undefined;
    onValuesChange?: ((changedValues: any, values: any) => void) | undefined;
    extraParams?: {
        list?: Record<string, any> | undefined;
        get?: Record<string, any> | undefined;
        update?: Record<string, any> | undefined;
        create?: Record<string, any> | undefined;
        destroy?: Record<string, any> | undefined;
    } | undefined;
};
export default useTableProps;
