import { StatusCodeWithLabelPayload } from '../../commonPayloadTypes/statusPayload'; import { CurrencyPayload } from '../../commonPayloadTypes/v2/viewAndReportPayloadv2'; import { ID } from '../../commonStateTypes/common'; import { MatchedTransactionPayload } from '../transaction/payloadTypes/reconciliationTransactionPayloads'; import { AccountReconciliationData, RecommendedReviewTransaction, TransactionsToReview } from './accountReconState'; export interface StatementMetaDataPayload { file_id: string; statement_upload_id: string; } export interface LastReconciledByPayload { user_email: string; user_id: ID; } export interface LastReconciledPayload { at: string; by: LastReconciledByPayload; for_period_end_date: string; } export interface MatchProgressPayload { ai_percentage_share: number; complete_percentage: number; human_percentage_share: number; matched: number; remaining_percentage: number; total: number; } export interface ReconciliationDataPayload { account_id: ID; balance_data_status: StatusCodeWithLabelPayload | null; bank_balance: number | null; bank_status: StatusCodeWithLabelPayload; cleared_balance: number | null; create_time: string | null; currency: CurrencyPayload; end_date: string; error_message: { details_error: string; error_message: string; } | null; initial_cleared_balance: number | null; last_reconciled: LastReconciledPayload | null; needs_review_count: number; opening_balance: number | null; payment_account_updated_at: string | null; reconciliation_id: string | null; retry_count: number | null; source: string | null; start_date: string; statement_data_status: StatusCodeWithLabelPayload | null; statement_meta_data: StatementMetaDataPayload | null; statement_status: StatusCodeWithLabelPayload | null; status: StatusCodeWithLabelPayload | null; transactions: ReconcileReviewTransactionsPayload; update_time: string | null; user_id: ID | null; variance: number | null; auto_matched_count?: number; match_progress?: MatchProgressPayload | null; } export interface RecommendedReviewTransactionPayload { amount: number; confidence_score: number; recommendation_reasons: string[]; transaction_date: string; transaction_memo: string; account_id?: ID | null; account_name?: string | null; book_transaction_id?: string | null; class_id?: ID | null; class_name?: string | null; merchant_id?: ID | null; merchant_name?: string | null; merchant_type?: string | null; transaction_id?: string | null; transaction_type?: string; } interface RecommendedActionPayload { recommended_action_description: string; recommended_actions: string; recommended_transactions: RecommendedReviewTransactionPayload[]; plaid_confidence_score?: string | null; zeni_confidence_score?: number | null; } export interface TransactionsToReviewPayload { amount: number; recommended_action: RecommendedActionPayload; status: string; transaction_date: string; transaction_direction: string; transaction_id: string; transaction_memo: string; merchant_id?: ID | null; merchant_name?: string | null; merchant_type?: string | null; } export interface ReconcileReviewTransactionsPayload { reconcile: MatchedTransactionPayload[]; review: TransactionsToReviewPayload[]; } export declare const toTransactionsToReview: (payload: TransactionsToReviewPayload, currencyPayload: CurrencyPayload) => TransactionsToReview; export declare const toTransactionsToReviewPayload: (payload: TransactionsToReview) => TransactionsToReviewPayload; export declare const toAccountReconciliationData: (payload: ReconciliationDataPayload) => AccountReconciliationData; export declare const toRecommendedReviewTransaction: (payload: RecommendedReviewTransactionPayload, currencyPayload: CurrencyPayload) => RecommendedReviewTransaction; export declare const toRecommendedReviewTransactionPayload: (payload: RecommendedReviewTransaction) => RecommendedReviewTransactionPayload; export {};