import { FetchStateAndError, FetchedState, ID } from '../../../commonStateTypes/common'; import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderTypes'; import { PageToken } from '../../../commonStateTypes/viewAndReport/viewAndReport'; import { Attachment } from '../../../entity/transaction/stateTypes/attachment'; import ZeniUrl from '../../../zeniUrl'; import { ReviewStatus, VendorReviewRowCurrentSelection } from '../common/state/commonTypes'; import { RecommendedNonExistingGlobalMerchant } from '../common/state/recommendedNonExistingGlobalMerchant'; export interface FirstReviewPageCurrentSelectionByColumn { customMerchant: boolean; recommendedFirst: boolean; recommendedSecond: boolean; rename: boolean; retain: boolean; } export declare const toVendorFirstReviewViewColumnKeyType: (v: string) => "vendor" | "status" | "retain" | "updateTo" | "action" | "ytd" | "viewTenantInvoice"; export type VendorFirstReviewViewColumnKey = ReturnType; export interface VendorFirstReviewViewUIState { pageToken: PageToken; scrollYOffset: number; searchText: string; sortKey: VendorFirstReviewViewColumnKey; sortOrder: SortOrder; totalCount: number; } export interface VendorFirstReviewViewLocalData { currentSelection: VendorReviewRowCurrentSelection; isWebsiteUrlSaved: boolean; mergeVendorName: string | undefined; recommendationIds: ID[]; recommendedNonExistingGlobalMerchants: RecommendedNonExistingGlobalMerchant[]; selectedVendorId: ID; status: ReviewStatus; transactionAttachments: Attachment[]; vendorId: ID; lastUpdatedVendorNameByUserId?: ID; vendorRenamedText?: string; } interface RecentlySavedErroredVendorData { vendorId: ID; vendorNameSentForReview: string; newRecommendation?: RecommendedNonExistingGlobalMerchant; oldRecommendation?: RecommendedNonExistingGlobalMerchant; } export interface VendorFirstReviewView { saveStatus: FetchStateAndError; vendorFirstReviewViewLocalData: VendorFirstReviewViewLocalData; } export interface VendorFirstReviewViewState extends FetchedState { attachmentFetchStatus: FetchStateAndError; transactionAttachmentsByVendorId: Record; uiState: VendorFirstReviewViewUIState; vendorFirstReviewViewLocalDataById: Record; vendorLocalData: ReviewVendorViewLocalData | null; recentlySavedErroredVendorData?: RecentlySavedErroredVendorData; } export interface VendorViewLocalData { id: ID; name: string; qboId: ID; websiteUrl?: ZeniUrl; } export interface ReviewVendorViewLocalData { saveStatus: FetchStateAndError; vendorDetails: VendorViewLocalData; } export {};