import { default as React } from 'react'; import { ClientAnalytics } from '@zeniai/client-analytics'; import { FetchState, SpendManagementEntityType, SpendManagementFilterEntityType, SpendManagementFiltersType } from '@zeniai/client-epic-state'; import { SpendManagementDownloadParams } from '../../spendManagement/common/downloads/SpendManagementDownloadButton'; import { GroupByFiltersComponentProps } from '../../spendManagement/common/filters/SpendManagementFilters'; import { ValuesDropdownOption } from '../../spendManagement/common/filters/spendManagementFiltersHelpers'; import { AutoCompleteActions, AutoCompleteData } from '../autoComplete/autoCompleteProps'; export interface SpendManagementSectionProps { disableDownloadButton: boolean; downloadState: FetchState; entity: SpendManagementEntityType | SpendManagementFilterEntityType | "charge_card_payment_history"; filters: SpendManagementFiltersType; isSearchOpen: boolean; searchPlaceHolder: string; searchText: string; analytics?: ClientAnalytics; createdByUserListLoaded?: boolean; disableFilters?: boolean; disableSearch?: boolean; downloadParams?: SpendManagementDownloadParams; filterIconContainerStyle?: React.CSSProperties; groupByFiltersComponent?: GroupByFiltersComponentProps; hideSearchBtn?: boolean; /** * When true, renders a fixed dark "INTRODUCING — Cards Policy" callout * anchored above the policy icon. Independent of the existing MUI hover * tooltip, so when this is false the regular "Card policy" hover label * keeps working. Visibility (feature gate, role, "seen" persistence) is * computed by the host (e.g. `ChargeCardListScreen`). */ isPolicyIntroTooltipVisible?: boolean; moreIconContainerStyle?: React.CSSProperties; newButtonLabel?: string; searchTextBoxStyle?: React.CSSProperties; showDownloadButtonOnNavbar?: boolean; showDownloadIcon?: boolean; showEntityEmailInfoIconOnNavbar?: boolean; showNewButtonOnNavbar?: boolean; showPayEarlyButtonOnNavbar?: boolean; showPaymentHistoryButtonOnNavbar?: boolean; showPolicyIcon?: boolean; showSettingsIcon?: boolean; showSettingsIconOnNavbar?: boolean; showStatementButtonOnNavbar?: boolean; vendorSearchAutoCompleteActions?: AutoCompleteActions; vendorSearchAutoCompleteData?: AutoCompleteData; getFilterOptions?: () => Record; onClickEmailInfoIcon?: () => void; onClickPayEarlyIcon?: () => void; onClickPaymentHistoryIcon?: () => void; onClickPolicyIcon?: () => void; onClickSetupIcon?: () => void; onClickStatementsIcon?: () => void; onDownloadClick?: () => void; onFiltersChange?: (filters: SpendManagementFiltersType) => void; onMenuOpen?: () => void; onNewButtonClick?: (event: React.MouseEvent | React.MouseEvent) => void; /** * Persists the "intro tooltip seen" state. Invoked when the user closes * the callout via the X button or clicks its CTA. The host should * suppress `isPolicyIntroTooltipVisible` immediately and write the * dismissal flag to durable storage so the callout does not return on * the next visit. */ onPolicyIntroTooltipClose?: () => void; onSearchOpen?: (isOpen: boolean) => void; onSearchTextChanged?: (searchText: string) => void; renderDropdownOptionIcon?: (option: ValuesDropdownOption) => React.ReactNode | null; updateDownloadStateHandler?: (newDownloadState: FetchState) => void; } export default function SpendManagementSection({ spendManagementSectionProps, }: { spendManagementSectionProps: SpendManagementSectionProps; }): import("react/jsx-runtime").JSX.Element;