import { ClientAnalytics } from '@zeniai/client-analytics';
import { AccountReport, AccountViewMode, COABalance, COABalanceTimeFrame, COABalanceType, COABalancesRange, COABalancesRangeWithThisPeriod, FetchState, FetchStateAndError, ID, Mode, NestedClassID, SelectorReport, TimeframeTick } from '@zeniai/client-epic-state';
import { RequestToOpenThreadType } from '../../commentsAndNotes/utils/ThreadsProvider';
import { AutoCompleteActions, AutoCompleteData } from '../../common/autoComplete/autoCompleteProps';
import { ReportTreeScrollPosition } from '../../reportTree/ReportTree';
import { AccountBalanceClickMeta } from '../../reportTree/reportTreeTypes';
import { InsightsSectionAiCfoProps } from '../common/insights/InsightsSectionAiCfoQuestions';
import { DetailPageClassViewReport, DetailPageReport, DownloadParams, UIState } from './detailPageReportTypes';
export interface DashboardReportPageProps<Report extends SelectorReport> {
    autoCompleteActions: AutoCompleteActions;
    autoCompleteData: AutoCompleteData;
    downloadParams: DownloadParams;
    highlightedRangeReport: Report;
    reportLabels: {
        reportTitle: string;
    };
    selectedRangeReport: Report;
    uiState: UIState;
    analytics?: ClientAnalytics;
    highlightedClassesViewRangeReport?: DetailPageClassViewReport;
    initialOpenThreadRequest?: RequestToOpenThreadType;
    insightsSectionAiCfoInfo?: InsightsSectionAiCfoProps;
    isAccountingClassesEnabled?: boolean;
    isAiCfoAccessEnabled?: boolean;
    /** Enables the page-level comments icon + drawer (OpEx only). */
    isReportsCommentingEnabled?: boolean;
    isZeniCOAUsed?: boolean;
    isZeniUser?: boolean;
    reportsResyncFetchState?: FetchStateAndError;
    scrollPosition?: ReportTreeScrollPosition;
    selectedClassesViewRangeReport?: DetailPageClassViewReport;
    onAdditionalBalanceSelectionChanged: (isCompareModeOn: boolean, additionalBalances: COABalanceType[], maxNumOfPeriodsToHighlight: number) => void;
    onCOABalancesRangeChanged: (selectedCOABalancesRange: COABalancesRange, highlightedCOABalancesRange?: COABalancesRangeWithThisPeriod) => void;
    onThisPeriodChanged: (thisPeriod: TimeframeTick) => void;
    onTimeframeSelectionChanged: (selectedTimeframe: COABalanceTimeFrame) => void;
    updateDownloadStateHandler: (newDownloadState: FetchState) => void;
    onAccountBalanceClick?: (account: AccountReport, balance: COABalance, balanceClickMeta?: AccountBalanceClickMeta) => void;
    onAskAiCfoClick?: () => void;
    onBackClick?: () => void;
    onClickMenuIcon?: () => void;
    onElementCollapseStateChanged?: (nodeId: string, isCollapsed: boolean) => void;
    onForecastToggle?: (mode: Mode, selectedForecastId?: {
        id: ID;
        index: number;
    }) => void;
    onOpenAccountViewMode?: () => void;
    onResyncReports?: () => void;
    onTableScroll?: (props: ReportTreeScrollPosition) => void;
    onUpdateAccountViewMode?: (view: AccountViewMode) => void;
    onUpdateClassesToFilterOut?: (classesToFilterOut: NestedClassID[]) => void;
}
declare const DashboardReportPage: (props: DashboardReportPageProps<DetailPageReport>) => import("react/jsx-runtime").JSX.Element;
export default DashboardReportPage;
