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<string, ValuesDropdownOption[]>;
    onClickEmailInfoIcon?: () => void;
    onClickPayEarlyIcon?: () => void;
    onClickPaymentHistoryIcon?: () => void;
    onClickPolicyIcon?: () => void;
    onClickSetupIcon?: () => void;
    onClickStatementsIcon?: () => void;
    onDownloadClick?: () => void;
    onFiltersChange?: (filters: SpendManagementFiltersType) => void;
    onMenuOpen?: () => void;
    onNewButtonClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent> | React.MouseEvent<HTMLDivElement, 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;
