import { FetchStateAndError, ID } from '../../../../commonStateTypes/common'; import { SelectorView } from '../../../../commonStateTypes/viewAndReport/viewAndReport'; import { AttributeType } from '../../../../entity/approvalRule/approvalRuleState'; import { BillStageCodeType } from '../../../../entity/billPay/billTransaction/billTransactionState'; import { Class } from '../../../../entity/class/classState'; import { Reimbursement } from '../../../../entity/reimbursement/reimbursementState'; 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 { ActivityRealTimeApprovalSelectorView } from '../../realTimeApprovalView/realTimeApprovalSelector'; import { ReimbursementLineWithAttachment } from '../editRemiView/editRemiViewState'; import { RemiActivity } from '../remiSetupApproverView/remiSetupApproverViewSelectorTypes'; import { DuplicateLine } from './remiDetailViewState'; export interface RemiDetailViewSelector extends SelectorView { achSameDayMaxDays: number; allAccountingClasses: Class[]; allApprovers: UserAndRole[]; approvalUpdateStatus: FetchStateAndError; approverListFetchState: FetchStateAndError; cancelAndDeleteStatus: FetchStateAndError; cancelStatus: FetchStateAndError; deleteStatus: FetchStateAndError; duplicateLineByLineId: Record; duplicateReimbursementStatus: FetchStateAndError; filteredApprovers: UserAndRole[]; filteredAttributes: AttributeType[]; realTimeApproval: ActivityRealTimeApprovalSelectorView; remiActivities: RemiActivity[]; remiDetails: RemiDetails | undefined; remiHistory: ActivityHistorySelectorView; attributeSubTypeToUserIdMapping?: Record; createdBy?: User; lastUpdatedByUserId?: ID; latestApprovedDate?: ZeniDate; } export interface RemiDetails extends Reimbursement { lines: ReimbursementLineWithAttachment[]; } export declare const getRemiDetailView: (state: RootState, reimbursementId: ID) => RemiDetailViewSelector; export declare const getRemiActivities: (state: RootState, reimbursementId: ID, billStageCode?: BillStageCodeType) => RemiActivity[]; export declare const checkApproveRejectBtnShow: (remiActivities: RemiActivity[], isUserAdmin: boolean, signedInUser?: LoggedInUser) => boolean;