import { Amount } from '../../commonStateTypes/amount'; import { BulkOperationType } from '../../commonStateTypes/bulkOperationType'; import { ID } from '../../commonStateTypes/common'; import { ReportIDPlusForecastID } from '../../commonStateTypes/viewAndReport/viewAndReport'; import { BillTransaction, BulkProcessingStateType } from '../../entity/billPay/billTransaction/billTransactionState'; import { RecurringBillConfig } from '../../entity/billPay/recurringBills/recurringBillsState'; import { ReimbursementTypeCode } from '../../entity/reimbursement/reimbursementState'; import { CurrentTenant } from '../../entity/tenant/tenantSelector'; import { RoleMap } from '../../entity/userRole/userRoleType'; import { ZeniDate } from '../../zeniDayJS'; import { AccType, AccountTypeSubConfigCodeKeyType } from './billPay/billPayConfig/billPayConfigState'; import { ActorActivityWithUser, BillActivity } from './billPay/billPaySetupApproverView/billPaySetupApproverViewSelectorTypes'; import { RecurringBillConfigLocalData, RecurringBillInstance } from './billPay/editBillView/editBillViewState'; import { CompanyAndOfficerLocalData, CompanyOfficersDetails, SetupViewType } from './commonSetup/setupViewState'; import { RemiActivity } from './reimbursement/remiSetupApproverView/remiSetupApproverViewSelectorTypes'; export declare const isUserActorOnApprovalStep: (userId: ID, stepActorsActivity: ActorActivityWithUser[]) => boolean; export declare const isSodExcludedViewerBlocked: (sodExcludedApproverUserId?: ID, signedInUserId?: ID, stepActorsActivity?: ActorActivityWithUser[]) => boolean; export declare const isSodAdminFallbackEligibleForStep: (sodExcludedApproverUserId?: ID, isAdminFallbackApprover?: boolean, stepActorsActivity?: ActorActivityWithUser[]) => boolean; export declare const shouldShowSodAdminLabel: (sodExcludedApproverUserId?: ID, stepActorsActivity?: ActorActivityWithUser[], entitySubjectUserId?: ID) => boolean; export declare const getLatestApprovalDate: (allActivities: BillActivity[] | RemiActivity[]) => ZeniDate | undefined; export declare function getSpendManagementEffectiveListPeriod(): import("../..").TimePeriod; export declare const getSelectedCompanyOfficer: (verificationDetails: CompanyAndOfficerLocalData) => CompanyOfficersDetails | undefined; export declare const getPaymentDateFromVendorReceiveDate: (vendorReceiveDate: ZeniDate, maxPaymentProcessingDays: number) => ZeniDate; export declare const updateRecurringBillDetails: (currentRecurringConfig: RecurringBillConfigLocalData, prevRecurringConfig?: RecurringBillConfigLocalData, currentInstances?: RecurringBillInstance[], currentBillAmount?: number) => { recurringConfig: RecurringBillConfigLocalData; recurringInstances: RecurringBillInstance[] | undefined; }; export declare const isRecurringConfigChanged: (recurringBillNewConfig: RecurringBillConfigLocalData, originalRecurringBillConfig: Partial, checkApprovalChange: boolean) => boolean; export declare const accountTypeSubConfigCodeToAccType: (code?: AccountTypeSubConfigCodeKeyType) => AccType | undefined; export declare function showReimbursementPromoPage(currentTenant: CurrentTenant, userRoleMap: RoleMap): boolean; export declare function showBillPayPromoPage(currentTenant: CurrentTenant, userRoleMap: RoleMap): boolean; export declare function isVerifiedStatusCode(statusCode: string): boolean; export declare function isVerifiedPaymentAccountProviderStatusCode(statusCode: string): boolean; export type BulkOperationFinishedType = 'sent for approval' | 'approved' | 'canceled' | 'deleted' | 'rejected' | 'processed'; export declare const isBulkProcessing: (processingState?: BulkProcessingStateType) => boolean; export declare const getBillListUniqueType: (selectedBills: Pick[]) => ("one-time" | "recurring")[]; export declare const getRemiListUniqueType: (reportTypes: ReimbursementTypeCode[][]) => ReimbursementTypeCode[]; export declare const getBulkOperationSuffix: (operationType: BulkOperationType) => BulkOperationFinishedType; export interface ZeniAccountsPromoConfig { maxAnnualPercentageYield: number; maxInsuredAmount: number; } export declare const toAccountsPromoConfig: (dynamicConfigValue: Record) => ZeniAccountsPromoConfig; export declare const isPaymentMethodOutsideZeni: (code?: string) => boolean; export declare const isAwaitingMarkAsPaid: (code?: string) => boolean; export declare const getReportIDPlusForecastIDFromSetupViewType: (setupViewType: SetupViewType) => ReportIDPlusForecastID; export declare const checkIfLowBalance: (totalAmount: Amount, bankBalance: Amount) => boolean; export interface SameDayAchDisablementConfig { balanceOutdatedThresholdDays: number; disablementAmountThresholdExternal: number; disablementAmountThresholdInternal: number; disablementReturnCountThreshold: number; excludedTenantList: string[]; isEnabledForAllTenants: boolean; newTenantTenureLimitMonths: number; returnCountLookbackTenureDays: number; } export declare const toSameDayAchDisablementConfig: (dynamicConfigValue: Record) => SameDayAchDisablementConfig;