import { AccountViewMode, FetchState, ID, Month, NestedClassHierarchyForReport, NestedClassID, Project, ReportID, ZeniDate } from '@zeniai/client-epic-state';
/** Must match `ClassTreeContainer` max-height; caps the checkbox tree so only inner `.content-scroll` scrolls. */
export declare const CLASS_TREE_MAX_HEIGHT_PX = 353;
export interface Props {
    classesToBeFilteredOut: NestedClassID[];
    firstMonthOfFY: Month;
    isProjectViewDisabled: boolean;
    nodes: NestedClassHierarchyForReport[];
    reportId: ReportID;
    selectedView: AccountViewMode;
    showAccountGroups: boolean;
    classesListFetchState?: FetchState;
    floatingDropdown?: boolean;
    isClassViewDisabled?: boolean;
    isPageFetchInProgress?: boolean;
    /** When provided, renders a label row above the trigger (with a Refresh button alongside when classes selected). */
    label?: string;
    lastRefreshSuccessTime?: ZeniDate;
    projects?: Project[];
    projectsListFetchState?: FetchState;
    projectsToFilterOut?: ID[];
    showClassAccountNumber?: boolean;
    onOpenAccountViewMode?: () => void;
    onResyncReports?: () => void;
    onSaveClick?: (view: AccountViewMode, uncheckedClasses?: NestedClassID[], filteredProjects?: ID[]) => void;
}
export declare const uniqueName: (sectionId: ID) => `${string}_form`;
export default function ReportTableViewSelector({ reportId, firstMonthOfFY, nodes, classesListFetchState, selectedView, classesToBeFilteredOut, showClassAccountNumber, onOpenAccountViewMode, onSaveClick, isClassViewDisabled, isProjectViewDisabled, floatingDropdown, showAccountGroups, onResyncReports, isPageFetchInProgress, label, lastRefreshSuccessTime, projects, projectsListFetchState, projectsToFilterOut, }: Props): import("react/jsx-runtime").JSX.Element;
