import { AccountTypeV2 } from './Account.enum'; import { Aggregator } from './Aggregator.interface'; import { TransactionBankOperationCategory, TransactionCreditCategory, TransactionExpenseCategory, TransactionIncomeCategory, TransactionRefundCategory, TransactionSavingCategory, TransactionTaxCategory, TransactionTemporaryCategory, TransactionType } from './Transaction.enum'; export interface Transaction { id?: string; accountId?: string; accountType?: AccountTypeV2; dates: TransactionDates; description: string; amount: number; currency: string; enrichments: Enrichments; isComing: boolean; aggregator?: Aggregator; comment?: string; } export interface TransactionDates { debitedAt?: string; bookedAt?: string; } export interface Enrichments { category: TransactionCategoryType; type: TransactionType; isRejected: boolean; counterPartId?: string; groupId: string; descriptionGroupId: string; } export declare type TransactionCategoryType = TransactionIncomeCategory | TransactionExpenseCategory | TransactionCreditCategory | TransactionSavingCategory | TransactionBankOperationCategory | TransactionRefundCategory | TransactionTaxCategory | TransactionTemporaryCategory;