/*
 * Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3 as published by
 * the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import { LookupTable } from '../../models/LookupTable';
import { MessageDescriptor } from 'react-intl';
import React from 'react';
import { ContextMenuOption } from '../ContextMenu';
import { ItemHistoryEntry, VersionsStateProps } from '../../models/Version';
import StandardAction from '../../models/StandardAction';
import { EnhancedDialogProps } from '../EnhancedDialog';
import { EnhancedDialogState } from '../../hooks/useEnhancedDialogState';
export interface Menu {
  sections: ContextMenuOption[][];
  anchorEl: Element;
  activeItem: ItemHistoryEntry;
}
export interface HistoryDialogBaseProps {}
export interface HistoryDialogProps extends HistoryDialogBaseProps, EnhancedDialogProps {
  versionsBranch: VersionsStateProps;
}
export interface HistoryDialogStateProps extends HistoryDialogBaseProps, EnhancedDialogState {
  onClose?: StandardAction;
  onClosed?: StandardAction;
}
export interface HistoryDialogContainerProps
  extends HistoryDialogBaseProps,
    Pick<HistoryDialogProps, 'versionsBranch'> {}
export interface PaginationProps {
  count: number;
  page: number;
  rowsPerPage: number;
  onPageChanged(nextPage: number): void;
  onRowsPerPageChange?(nextRowsPerPage: number, e: React.ChangeEvent): void;
}
export declare const menuOptions: LookupTable<{
  id: string;
  label: MessageDescriptor;
  values?: any;
}>;
export declare const menuInitialState: {
  sections: any[];
  anchorEl: any;
  activeItem: any;
};
