import type { ProColumnType, ProTableProps } from "@ant-design/pro-table";
import type { OptionConfig } from "@ant-design/pro-table/es/components/ToolBar";
import type { ParamsType } from "@ant-design/pro-provider";
import type { ReactNode } from "react";
import type { LogicformType, LogicformAPIResultType, SchemaType } from "zeroetp-api-sdk";
import type { ZESchemaFormColumnType, ZESchemaFormProps } from "../../ZESchemaForm/ZESchemaForm.types";
import { Store } from "antd/lib/form/interface";
export declare type TableOnChangeParams = Parameters<Required<ProTableProps<ProColumnType, ParamsType>>["onChange"]>;
export declare type PredItemType = string | {
    title: string;
    children: string[];
};
export declare type TableProps = {
    title?: string;
    logicform: LogicformType;
    preds?: PredItemType[];
    customColumns?: {
        [key: string]: ProColumnType;
    };
    exportToExcel?: boolean | string;
    xlsx?: any;
    refLFs?: {
        logicform: LogicformType;
        merge: (mainData: any, refData: any) => any;
    }[];
    height?: number | "auto";
    scroll?: ({
        x?: string | number | true;
        y?: string | number;
    } & {
        scrollToFirstRowOnChange?: boolean;
    }) | null;
    creationMode?: "form" | "list";
    creationColumns?: ZESchemaFormColumnType[];
    simplyValue?: boolean;
    initialValues?: Store;
    propertyConfig?: ZESchemaFormProps["propertyConfig"];
    canRemoveData?: boolean;
    canEditData?: boolean;
    defaultColWidth?: number;
    showViewBtn?: boolean;
    showUnit?: boolean;
    showSorter?: boolean;
    showFilter?: boolean;
    showSummary?: boolean;
    horizontalColumns?: string[];
    transpose?: string;
    expandFirstCol?: boolean;
    expandFirstColNextLevel?: string;
    additionalToolBarRenders?: ((res: LogicformAPIResultType) => ReactNode)[];
    additionalColumns?: ProColumnType[];
    formatExpandResult?: (result: any) => void;
    result?: LogicformAPIResultType;
    setLogicform?: (logicform?: LogicformType, logicformWithSkipAndSort?: LogicformType) => void;
    reload?: (...args: any[]) => void;
    options?: boolean | (OptionConfig & {
        editable?: boolean;
    });
    isHierarchyList?: boolean;
    dragSortable?: boolean;
    entityTooltipCardProps?: {
        width?: number;
        height?: number;
        extra?: (entity: any, schema: SchemaType) => ReactNode;
        customComponent?: (entity: any, schema: SchemaType) => ReactNode;
    };
} & Omit<ProTableProps<ProColumnType, ParamsType>, "columns" | "request" | "pagination" | "toolBarRender" | "scroll" | "options" | "title">;
