import * as VTable from '@visactor/vtable';
import Inula from 'openinula';
import type { ContainerProps } from '../containers/withContainer';
import type { EventsProps } from '../eventsUtils';
export type IVTable = VTable.ListTable | VTable.PivotTable | VTable.PivotChart;
export type IOption = VTable.ListTableConstructorOptions | VTable.PivotTableConstructorOptions | VTable.PivotChartConstructorOptions;
export interface BaseTableProps extends EventsProps {
    type?: string;
    container?: HTMLDivElement;
    option?: any;
    records?: Record<string, unknown>[];
    width?: number;
    height?: number;
    skipFunctionDiff?: boolean;
    onReady?: (instance: IVTable, isInitial: boolean) => void;
    onError?: (err: Error) => void;
}
type Props = BaseTableProps & {
    children?: Inula.InulaNode;
};
export declare const createTable: <T extends Props>(componentName: string, type?: string, callback?: (props: T) => T) => Inula.ExoticComponent<Inula.PropsOmitRef<T & ContainerProps>> & Inula.Attributes & {
    ref?: Inula.Ref<any>;
};
export {};
