import { LoadType, ReportType } from 'src/dpr/types/UserReports';
export type NameValuePair = {
    name: string;
    value: string;
};
export type DprMyReportHeading = {
    name: string;
    classes: string;
};
export type DprMyReportTitle = {
    productName: string;
    reportName: string;
    reportType: string;
    timestamp?: string;
};
export type DprMyReportFilters = {
    prerequest?: NameValuePair[];
    interactive?: NameValuePair[];
};
export type RemoveAction = {
    action: string;
    csrfToken: string;
    returnTo: string;
};
export type LinkAction = {
    href: string;
};
export type ViewAction = {
    href: string;
    reportType: string;
};
export type DprMyReportActions = {
    remove?: RemoveAction;
    refresh?: LinkAction;
    retry?: LinkAction;
    view?: ViewAction;
    polling?: LinkAction;
    load?: ViewAction;
    bookmark?: DprMyReportActionBookmark;
    request?: ViewAction;
};
export type DprMyReportActionBookmark = {
    reportId: string;
    id: string;
    reportType: ReportType;
    csrfToken: string;
    bookmarkActionEndpoint?: string | undefined;
    linkType: string;
    linkText: string;
};
export type DprMyReportMeta = {
    id: string;
    reportId: string;
    tableId?: string | undefined;
};
export type DprMyReportItem = {
    title: DprMyReportTitle;
    description?: string;
    filters?: DprMyReportFilters;
    status?: string;
    actions?: DprMyReportActions;
    meta?: DprMyReportMeta;
};
export type DprMyReportListConfig = {
    title: string;
    listType: ListType;
    headings: DprMyReportHeading[];
    items: DprMyReportItem[];
    totals: MyReportsListTotals;
};
export declare enum ListType {
    REQUESTED = "requested",
    BOOKMARKS = "bookmarks",
    VIEWED = "viewed"
}
type HeadingKey = 'title' | 'description' | 'filters' | 'status' | 'actions';
export type HeadingConfig = {
    key: HeadingKey;
    name: string;
    classes: string;
    showIn: ListType[];
};
export type DprMyReport = {
    requested: DprMyReportListConfig;
    viewed: DprMyReportListConfig;
    bookmarks?: DprMyReportListConfig | undefined;
};
export type MappedBookmarks = {
    id: string;
    reportId: string;
    name: string;
    reportName: string;
    reportType: ReportType;
    description: string;
    loadType: LoadType;
};
export type MyReportsOptions = {
    maxRows?: number;
    showHelp?: boolean;
};
export type MyReportsListTotals = {
    shown: number;
    total: number;
    href?: string | undefined;
};
export {};
