import { ID } from '../../commonStateTypes/common'; import { ZeniDate } from '../../zeniDayJS'; import { ApprovalActionType, StepOperatorType } from '../approvalRule/approvalStepTypes'; export declare const ALL_ENTITY_TYPES: readonly ["bill_pay", "reimbursement", "zeni_accounts", "zeni_treasury", "charge_cards"]; export declare const ALL_ENTITY_TYPES_WITH_OTHER_CONNECTION: readonly ["bill_pay", "reimbursement", "zeni_accounts", "zeni_treasury", "charge_cards", "other_connection"]; export declare const toEntityType: (v: string) => "bill_pay" | "reimbursement" | "zeni_accounts" | "zeni_treasury" | "charge_cards"; export type EntityType = ReturnType; export declare const toEntityTypeWithOtherConnection: (v: string) => "bill_pay" | "reimbursement" | "zeni_accounts" | "zeni_treasury" | "charge_cards" | "other_connection"; export type EntityTypeWithOtherConnection = ReturnType; declare const toEntityApprovalStatusCode: (v: string) => "pending" | "approved" | "rejected"; type EntityApprovalStatusCode = ReturnType; export declare const toEntityApprovalStatusCodeStrict: (v: string | null) => EntityApprovalStatusCode | undefined; export declare const toActivityStatus: (v: string) => "pending" | "approved" | "rejected" | "notified"; export type ActivityStatus = ReturnType; export interface Actor { isImplicitActor: boolean; type: string; userId: ID; subType?: string; } export interface ActorActivity extends Actor { activity: ActivityStatus; description: string; isRecurringAutoApprove: boolean; lastUpdateTime?: ZeniDate; } export interface StepApprovalStatus { action: ApprovalActionType; actors: Actor[]; actorsActivity: ActorActivity[]; isOriginalApprovalStep: boolean; operator: StepOperatorType; createdAt?: string; description?: string; stepCreatorId?: ID; stepPosition?: number; } /** * EntityApprovalStatusState */ export interface EntityApprovalStatusState { entityApprovalStatusById: Record; } export interface EntityApprovalStatus { areApprovalsSerialized: boolean; createTime: ZeniDate; entityApprovalId: ID; entityId: ID; entityType: EntityType; isAdminFallbackApprover: boolean; isRealTimeApprovalEnabled: boolean; stepsApprovalStatus: StepApprovalStatus[]; updateTime: ZeniDate; approvalByUserStatus?: Record; approvalLastUpdateTime?: ZeniDate; approvalRuleId?: ID; currentPendingStepIndex?: number; sodExcludedApproverUserId?: ID; status?: EntityApprovalStatusCode; } export {};