import { type JSX, type ReactNode } from 'react';
import { type BackofficeDataTableProps } from '../../organisms/backoffice_data_table/BackofficeDataTable.js';
import { type EntityHeaderProps } from '../../organisms/entity_header/EntityHeader.js';
type ListBaseProps = {
    toolbarNode?: ReactNode;
    tableFooterNode?: ReactNode;
    className?: string;
};
type ListWithHeaderProps<Row> = ListBaseProps & {
    header: EntityHeaderProps;
    headerNode?: never;
    table: BackofficeDataTableProps<Row>;
    tableNode?: never;
};
type ListWithHeaderNode<Row> = ListBaseProps & {
    header?: never;
    headerNode: ReactNode;
    table: BackofficeDataTableProps<Row>;
    tableNode?: never;
};
type ListWithCustomTable = (ListBaseProps & {
    header: EntityHeaderProps;
    headerNode?: never;
    table?: never;
    tableNode: ReactNode;
}) | (ListBaseProps & {
    header?: never;
    headerNode: ReactNode;
    table?: never;
    tableNode: ReactNode;
});
export type ListPageTemplateProps<Row> = ListWithHeaderProps<Row> | ListWithHeaderNode<Row> | ListWithCustomTable;
export declare const ListPageTemplate: <Row>(props: ListPageTemplateProps<Row>) => JSX.Element;
export default ListPageTemplate;
//# sourceMappingURL=ListPageTemplate.d.ts.map