import React from 'react';
import { StackProps } from '@mui/material/Stack';
import { TablePaginationProps } from '@mui/material/TablePagination';
import { EventItemModel, EventFilterOption, EventFilterValue } from './models';
import { IEventItem } from './components/EventItem';
import { IEventFilterProps } from './components/EventFilter';
import { TranslateFuncType } from '../util/models';
export interface IEventLogComponent extends StackProps {
    infiniteLoad: boolean;
    total: number;
    events: ReadonlyArray<EventItemModel>;
    loading: boolean;
    page: number;
    pageSize: number;
    filter?: EventFilterValue;
    filterOptions?: Record<string, EventFilterOption>;
    onPageChange: (event: React.MouseEvent<HTMLButtonElement> | null, newPage: number) => void;
    onPageSizeChange: (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
    onFilterChange: (filter: EventFilterValue) => void;
    hasNextPage: boolean;
    loadMoreItems: () => void;
    itemHeight: number;
    paginationProps?: Omit<TablePaginationProps, 'component' | 'count' | 'page' | 'rowsPerPage' | 'onPageChange' | 'onRowsPerPageChange'>;
    ItemComponent?: React.FunctionComponent<IEventItem>;
    FilterComponent?: React.FunctionComponent<IEventFilterProps>;
    t: TranslateFuncType;
}
export declare const EventLogComponent: (props: IEventLogComponent) => import("react/jsx-runtime").JSX.Element;
