import { FetchState, FetchStateAndError, ID } from '../../../../commonStateTypes/common'; import { SelectorView } from '../../../../commonStateTypes/viewAndReport/viewAndReport'; import { AttributeType } from '../../../../entity/approvalRule/approvalRuleState'; import { BankAccount } from '../../../../entity/bankAccount/bankAccount'; import { BillStageCodeType, BillTransaction } from '../../../../entity/billPay/billTransaction/billTransactionState'; import { RecurringBillConfig, RecurringBillData } from '../../../../entity/billPay/recurringBills/recurringBillsState'; import { Class } from '../../../../entity/class/classState'; import { PaymentInstrument } from '../../../../entity/paymentInstrument/paymentInstrument'; import { LoggedInUser } from '../../../../entity/tenant/tenantState'; import { User } from '../../../../entity/user/userState'; import { RootState } from '../../../../rootStateTypes'; import { ZeniDate } from '../../../../zeniDayJS'; import { UserAndRole } from '../../../companyView/types/userAndRole'; import { ActivityHistorySelectorView } from '../../commonHistoryView/commonHistorySelector'; import { FundingAccount } from '../../commonSetup/setupViewState'; import { ActivityRealTimeApprovalSelectorView } from '../../realTimeApprovalView/realTimeApprovalSelector'; import { BillPayConfig } from '../billPayConfig/billPayConfigState'; import { BillActivity } from '../billPaySetupApproverView/billPaySetupApproverViewSelectorTypes'; import { OutsideZeniPaymentLocalData } from '../editBillView/editBillViewState'; import { PreviousBillsSelectorView } from '../previousBills/previousBillsSelector'; import { BillApprovalType, ZeniAssistForBills } from './billDetailViewState'; export interface BillDetailViewSelector extends SelectorView { allAccountingClasses: Class[]; allApprovers: UserAndRole[]; approvalUpdateStatus: FetchStateAndError; approverListFetchState: FetchStateAndError; billActivities: BillActivity[]; billHistory: ActivityHistorySelectorView; billSaveStatus: FetchState; cancelAndDeleteStatus: FetchStateAndError; cancelStatus: FetchStateAndError; deleteStatus: FetchStateAndError; filteredApprovers: UserAndRole[]; filteredAttributes: AttributeType[]; isRecurring: boolean; previousBills: PreviousBillsSelectorView; realTimeApproval: ActivityRealTimeApprovalSelectorView; approvalType?: BillApprovalType; bankAccount?: BankAccount; createdBy?: User; latestApprovedDate?: ZeniDate; outsideZeniPaymentInfo?: OutsideZeniPaymentLocalData; paymentInstrument?: PaymentInstrument; paymentMethodType?: BillPayConfig; recurringBillConfigDetail?: RecurringBillConfig; recurringBillInstances?: RecurringBillData[]; transactionDetails?: BillTransaction; vendorCurrency?: string; vendorOwnerId?: ID; withdrawFrom?: FundingAccount; zeniAssist?: ZeniAssistForBills; } export declare const getBillActivities: (state: RootState, billId: ID, billStageCode?: BillStageCodeType) => BillActivity[]; export declare const getBillDetailView: (state: RootState, billId: ID) => BillDetailViewSelector; export declare const checkApproveRejectBtnShow: (billActivities: BillActivity[], isUserAdmin: boolean, signedInUser?: LoggedInUser) => { isApprovalorRejectBtnVisible: boolean; isMarkAsPaidBtnVisible: boolean; }; export declare const checkShowMarkAsPaidButton: (bill: BillTransaction, isAdmin: boolean, loggedInUser?: LoggedInUser) => boolean; export declare const getSelectedWithdrawFromAccount: (state: RootState, transaction?: BillTransaction) => FundingAccount | undefined;