import { ReactNode } from 'react';
import { AddressType, AuthParams, CollapsableStatusKey, ID, Month, TimeframeTick, TransactionID, VendorContactInfo, VendorDetailTabsType, VendorSpendTrendFilterTabType, VendorsTabVendorDetailLocalData, VendorsTabVendorDetailPageView, ZeniUrl } from '@zeniai/client-epic-state';
import { DisableMode } from '../formElements/common/common';
import { vendorContactInfoSectionId } from '../spendManagement/billPay/createVendor/sections/vendorContactInfo/VendorContactInfoSection';
import { Vendor1099DetailsFormData } from './Vendor1099DetailsSection';
import { VendorDetailsFormData } from './VendorDetailsSection';
export declare const formUniqueName: (formId: string) => `${string}_form`;
export declare const vendorDetailsSectionId = "vendorDetails";
export declare const vendor1099DetailsSectionId = "vendor1099Details";
interface VendorSpendTrendFilter {
    id: VendorSpendTrendFilterTabType;
    label: string;
}
export declare const vendorSpendTrendFilterTabs: VendorSpendTrendFilter[];
export interface Props {
    authParams: AuthParams;
    filesEndPoint: string;
    firstMonthOfFY: Month;
    isFiling1099FeatureEnabled: boolean;
    readOnlyMode: boolean;
    vendorDetailView: VendorsTabVendorDetailPageView | undefined;
    allTransactionsTabData?: {
        numberOfQuartersFetched: number;
        timePeriod: TimeframeTick;
    };
    isDisabled?: DisableMode;
    panelContent?: ReactNode;
    scrollToTrend?: boolean;
    sidePanelIsFullView?: boolean;
    sidePanelIsOpen?: boolean;
    vendorLogo?: ZeniUrl;
    onAddressClick: (addressType: AddressType, addressId?: ID) => void;
    onLoadPreviousTransactionsClick: (timePeriodToLoad: TimeframeTick, numberOfQuartersFetched: number) => void;
    onSaveVendor: () => void;
    onVendorDetailUIChange: (collapsableStatus: CollapsableStatusKey) => void;
    onVendorSpendTrendFilterTabClick: (id: VendorSpendTrendFilterTabType) => void;
    onVendorTabSelectionChanged: (tabType: VendorDetailTabsType) => void;
    onCancelClick?: () => void;
    onSaveSuccess?: () => void;
    onSpendTrendPercentChangeClick?: () => void;
    onTransactionItemClick?: (id: TransactionID) => void;
    onTrendSelectedPeriodChange?: (selectedPeriod?: {
        addTimePeriod: TimeframeTick;
        timeframe: "month" | "quarter" | "year";
        currentTimePeriod?: TimeframeTick;
    }) => void;
    saveContactsInVendorTabDetailLocalData?: (vendorId: ID, contact: VendorContactInfo[]) => void;
    saveVendorDetailLocalData?: (data: VendorsTabVendorDetailLocalData) => void;
    updateSaveFetchState?: () => void;
}
declare const VendorDetailPage: ({ isFiling1099FeatureEnabled, vendorDetailView, firstMonthOfFY, vendorLogo, readOnlyMode, isDisabled, scrollToTrend, allTransactionsTabData, onVendorTabSelectionChanged, onLoadPreviousTransactionsClick, onSaveSuccess, saveVendorDetailLocalData, onCancelClick, onTrendSelectedPeriodChange, onTransactionItemClick, onSpendTrendPercentChangeClick, onSaveVendor, onVendorSpendTrendFilterTabClick, onAddressClick, saveContactsInVendorTabDetailLocalData, onVendorDetailUIChange, sidePanelIsFullView, sidePanelIsOpen, panelContent, }: Props) => import("react/jsx-runtime").JSX.Element;
export interface FormData {
    [vendor1099DetailsSectionId]: Vendor1099DetailsFormData;
    [vendorContactInfoSectionId]: VendorContactInfo[];
    [vendorDetailsSectionId]: VendorDetailsFormData;
}
export default VendorDetailPage;
