import { CSSProperties, Component } from 'react';
import { IFilterTable, IColumn, TableProps } from '@doreamonjs/components';
import { INutField } from '@doreamonjs/components';
import './index.less';
export interface ListPageProps extends TableProps<any> {
    style?: CSSProperties;
    headerStyle?: CSSProperties;
    bodyStyle?: CSSProperties;
    className?: string;
    attributes: Attributes;
    datasets: Datasets;
    constraints: Constraints;
    onActionTrigger: TableProps<any>['onActionTrigger'];
    onTableChange: TableProps<any>['onTableChange'];
    onCategoryChange: TableProps<any>['onCategoryChange'];
    onFilterChange: IFilterTable<any>['onFilterChange'];
    onReset: () => void;
    onRefresh: () => void;
}
interface Attributes extends TableProps<any> {
    filters: INutField[];
    columns: IColumn<any>[];
    table: any;
}
interface Datasets {
    table?: any[];
    values?: any;
}
interface Constraints {
    where: Record<string, any>;
    orderBy: string[];
}
export declare class ListPage extends Component<ListPageProps> {
    componentDidUpdate(prevProps: Readonly<ListPageProps>): void;
    renderTitle: () => any;
    render(): JSX.Element;
}
export default ListPage;
