import { DateTime } from 'luxon'; import React from 'react'; import type { IApplicationSummary } from '../application'; import type { IPagerDutyService } from './pagerDuty.read.service'; import './pager.less'; type SortDirectionType = 'ASC' | 'DESC'; export interface IUserDisplay { level: number; name: string; url: string; } export interface IUserList { [level: number]: IUserDisplay[]; } export interface IOnCallsByService { users?: IUserList; applications: IApplicationSummary[]; last: DateTime; service: IPagerDutyService; searchString: string; } export interface IPagerProps { } export interface IPagerState { accountName: string; app: string; hideNoApps: boolean; notFoundApps: string[]; filterString: string; initialKeys: string[]; selectedKeys: Map; sortBy: string; sortDirection: SortDirectionType; sortedData: IOnCallsByService[]; } export declare class Pager extends React.Component { private cache; private allData; private searchApi; constructor(props: IPagerProps); componentDidMount(): void; private sortByFunction; sort: (info: { sortBy: string; sortDirection: SortDirectionType; }) => void; sortList(sortedData: IOnCallsByService[], sortBy: string, sortDirection: SortDirectionType): void; private findServiceByApplicationName; private runFilter; componentDidUpdate(_prevProps: IPagerProps, prevState: IPagerState): void; private getOnCallsByService; private selectedChanged; private clearAll; private rowGetter; private serviceRenderer; private lastIncidentRenderer; private applicationRenderer; private highlight; private onCallRenderer; private pageRenderer; private pageHeaderRenderer; private headerRenderer; private handleFilterChange; private rowClassName; private handleHideNoAppsChanged; private rowClicked; private closeCallback; render(): JSX.Element; } export {};