import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';

type ListPageBoardColumnDef<T> = {
    id: string;
    label: string;
    /** Shown beside the title on larger breakpoints */
    description?: string;
    /** First matching column wins; columns should be mutually exclusive for most domains. */
    filter: (row: T) => boolean;
};
type ListPageBoardTemplateProps<T> = {
    columns: ListPageBoardColumnDef<T>[];
    rows: T[];
    getRowKey: (row: T) => string | number;
    renderCard: (row: T) => React.ReactNode;
    /** Tailwind classes for the count pill, keyed by column `id` */
    columnCountBadgeClassName?: Record<string, string>;
    /** Copy when a column has no rows */
    emptyColumnLabel?: string;
};
declare function ListPageBoardTemplate<T>({ columns, rows, getRowKey, renderCard, columnCountBadgeClassName, emptyColumnLabel, }: ListPageBoardTemplateProps<T>): react_jsx_runtime.JSX.Element;

export { type ListPageBoardColumnDef, ListPageBoardTemplate, type ListPageBoardTemplateProps };
