import { RowData, ColumnDef } from '@tanstack/react-table';
export { ColumnDef, Row, createColumnHelper } from '@tanstack/react-table';
import React__default, { CSSProperties } from 'react';
import { ExpandComp, OnRowClick } from './row.js';
import '../../utils/get-cell-align.js';

interface ExpandTableProps<Datum extends RowData> {
    /** 렌더할 데이터 배열  */
    data?: Datum[];
    /** 테이블 컬럼의 메타 데이터 */
    columns: ColumnDef<Datum>[];
    /** Row의 open이 true인 경우 하단의 collapse에 렌더할 컴포넌트 */
    ExpandComp?: ExpandComp<Datum>;
    /** 데이테가 없을 시 화면에 표시할 컴포넌트 */
    placeholder?: React__default.ReactNode;
    /** 행 클릭 시 실행할 콜백 */
    onRowClick?: OnRowClick<Datum>;
    getRowStyle?: (data: Datum) => CSSProperties;
    getCellStyle?: (data: Datum) => CSSProperties;
    tableStyle?: CSSProperties;
    isLoading?: boolean;
    /** pagination - 표시 유무, 기본값 true */
    showPagination?: boolean;
    /** pagination - 현재 선택된 페이지, 0부터 시작 */
    pageIndex?: number;
    /** pagination - 한 페이지에 표시될 컬럼 개수, 기본값 10 */
    pageSize?: number;
    /** pagination -  */
    siblingCount?: number;
}
declare function ExpandTable<Datum extends RowData>(props: ExpandTableProps<Datum>): React__default.ReactNode;

export { ExpandComp, ExpandTable, type ExpandTableProps, OnRowClick };
