import { InitialTableState, TableState } from "@tanstack/react-table";
import { CSSProperties, ComponentProps, ReactNode } from "react";
import { DataTableClearFilter } from "./DataTableClearFilter";
import { DataTableFilterChips } from "./DataTableFilterChips";
import { DataTableFilterOptions } from "./DataTableFilterOptions";
import { DataTableFooter } from "./DataTableFooter";
import { DataTableGloabalSearch } from "./DataTableGloabalSearch";
import { DataTableToolbar } from "./DataTableToolbar";
import { DataTableViewOptions } from "./DataTableViewOptions";
import { Table } from "./table";
import { ApsaraColumnDef } from "./datatables.types";
type DataTableProps<TData, TValue> = {
    columns: ApsaraColumnDef<TData>[];
    data: TData[];
    multiRowSelectionEnabled?: boolean;
    children?: ReactNode;
    ShouldShowHeader?: boolean;
    emptyState?: ReactNode;
    parentStyle?: CSSProperties;
    isLoading?: boolean;
    initialState?: Partial<InitialTableState>;
    loaderRow?: number;
    onRowClick?: (d: TData) => void;
    onStateChange?: (d: Partial<TableState>) => void;
    onLoadMore?: () => void;
} & ComponentProps<typeof Table>;
declare function DataTableRoot<TData, TValue>({ columns, data, emptyState, children, parentStyle, isLoading, ShouldShowHeader, initialState, loaderRow, onRowClick, onStateChange, onLoadMore, ...props }: DataTableProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
export declare const DataTable: typeof DataTableRoot & {
    Toolbar: typeof DataTableToolbar;
    GloabalSearch: typeof DataTableGloabalSearch;
    FilterOptions: typeof DataTableFilterOptions;
    ViewOptions: typeof DataTableViewOptions;
    ClearFilter: typeof DataTableClearFilter;
    FilterChips: typeof DataTableFilterChips;
    Footer: typeof DataTableFooter;
    DetailContainer: import("react").FC<import("./TableDetailContainer").TableDetailContainerProps>;
};
export {};
//# sourceMappingURL=datatable.d.ts.map