import * as React from "react";
export interface IColDef<T> {
    prop: PropType<T>;
    header: string | ElementContent<T> | React.ReactNode;
    accessor?: (data: T) => string;
    width?: number;
    render?: (data: T) => React.ReactNode;
    renderFilter?: (value: T, handleChange: (v: T) => void) => React.ReactNode;
    props?: (data: T) => object;
    headerProps?: object;
    footerProps?: object;
    sortable?: boolean;
    filterable?: boolean;
    align?: "left" | "center" | "right";
    footer?: string | ElementContent<T>;
}
export type PropType<T> = keyof T | "";
type Fn<T> = (colDef: IColDef<T>, data: T[]) => React.ReactNode;
type ElementContent<T> = string | Fn<T>;
export {};
