import { Analytics } from '@zeniai/client-analytics';
import { AuthParams, COABalance, COABalanceMonthQuarterTimeframe, COABalanceType, FetchState, OpExByVendorReport, OpexByVendorSortKey, OpexByVendorUIState, SortOrder, Vendor, VendorReportIDType } from '@zeniai/client-epic-state';
export interface OpExByVendorPageProps {
    downloadParams: OpExByVendorDownloadParams;
    previousTabPosition: number;
    report: OpExByVendorReport;
    uiState: OpexByVendorUIState;
    vendorTabsToShow: VendorReportIDType[];
    analytics?: Analytics;
    isAccountingClassesEnabled?: boolean;
    isAiCfoAccessEnabled?: boolean;
    onAdditionalBalanceSelectionChanged: (isCompareModeOn: boolean, additionalBalances: COABalanceType[]) => void;
    onBackClick: () => void;
    onClearSearch: (timeframe: COABalanceMonthQuarterTimeframe) => void;
    onFetchOpExByVendors: (timeframe: COABalanceMonthQuarterTimeframe, searchString: string, fetchNextPage?: boolean) => void;
    onPageFetchStarted: () => void;
    onReloadReport: () => void;
    onSortOrderChanged: (sortOrder: SortOrder, sortKey: OpexByVendorSortKey, timeframe: COABalanceMonthQuarterTimeframe) => void;
    onSortOrSearchStarted: (status: boolean) => void;
    onTimeframeSelectionChanged: (timeframe: COABalanceMonthQuarterTimeframe) => void;
    onVendorNameAndBalanceClicked: (vendor: Vendor, balance?: COABalance) => void;
    onVendorTabSelectionChanged: (newVendorTabId: VendorReportIDType) => void;
    setPreviousTabPosition: (position: number) => void;
    updateDownloadStateHandler: (newDownloadState: FetchState) => void;
    onAskAiCfoClick?: () => void;
    onClickMenuIcon?: () => void;
}
export type OpExByVendorDownloadParams = {
    authParams: AuthParams;
    currentTenantCompanyName: string;
    statementEndPoint: string;
    timezone: string;
};
declare const OpExByVendorPage: ({ report, vendorTabsToShow, uiState, downloadParams, onVendorTabSelectionChanged, onReloadReport, onBackClick, onFetchOpExByVendors, onAdditionalBalanceSelectionChanged, onTimeframeSelectionChanged, onSortOrderChanged, onSortOrSearchStarted, onVendorNameAndBalanceClicked, onPageFetchStarted, previousTabPosition, setPreviousTabPosition, updateDownloadStateHandler, onClearSearch, analytics, isAccountingClassesEnabled, isAiCfoAccessEnabled, onAskAiCfoClick, onClickMenuIcon, }: OpExByVendorPageProps) => import("react/jsx-runtime").JSX.Element;
export default OpExByVendorPage;
