import { GraphQLClient } from '../../client/graphql'; import { Transaction, TransactionDetails, TransactionSummary, TransactionRule, TransactionTag, TransactionCategory, CategoryGroup, Merchant, RecurringTransaction, BulkUpdateResult, PaginatedTransactions } from '../../types'; export interface TransactionsAPI { getTransactions(options?: GetTransactionsOptions): Promise; getTransactionDetails(transactionId: string): Promise; createTransaction(data: CreateTransactionInput): Promise; updateTransaction(transactionId: string, data: UpdateTransactionInput): Promise; deleteTransaction(transactionId: string): Promise; getTransactionsSummary(): Promise; getTransactionsSummaryCard(): Promise; getTransactionSplits(transactionId: string): Promise; updateTransactionSplits(transactionId: string, splits: TransactionSplit[]): Promise; getTransactionRules(): Promise; createTransactionRule(data: CreateTransactionRuleInput): Promise; updateTransactionRule(ruleId: string, data: UpdateTransactionRuleInput): Promise; deleteTransactionRule(ruleId: string): Promise; deleteAllTransactionRules(): Promise; previewTransactionRule(conditions: RuleCondition[], actions: RuleAction[]): Promise; getTransactionCategories(): Promise; createTransactionCategory(data: CreateTransactionCategoryInput): Promise; updateTransactionCategory(categoryId: string, data: UpdateTransactionCategoryInput): Promise; deleteTransactionCategory(categoryId: string): Promise; getTransactionCategoryGroups(): Promise; getCategoryDetails(categoryId: string): Promise; getTransactionTags(): Promise; createTransactionTag(data: CreateTransactionTagInput): Promise; setTransactionTags(transactionId: string, tagIds: string[]): Promise; getMerchants(options?: GetMerchantsOptions): Promise; getMerchantDetails(merchantId: string): Promise; getEditMerchant(merchantId: string): Promise; getRecurringTransactions(options?: GetRecurringTransactionsOptions): Promise; getRecurringStreams(options?: GetRecurringStreamsOptions): Promise; getAggregatedRecurringItems(options: GetAggregatedRecurringItemsOptions): Promise; getAllRecurringTransactionItems(options?: GetAllRecurringTransactionItemsOptions): Promise; reviewRecurringStream(streamId: string, reviewStatus: string): Promise; markStreamAsNotRecurring(streamId: string): Promise; getRecurringMerchantSearchStatus(): Promise; bulkUpdateTransactions(data: BulkUpdateTransactionsInput): Promise; bulkHideTransactions(transactionIds: string[], filters?: any): Promise; bulkUnhideTransactions(transactionIds: string[], filters?: any): Promise; getHiddenTransactions(options?: GetHiddenTransactionsOptions): Promise; } export interface GetTransactionsOptions { limit?: number; offset?: number; startDate?: string; endDate?: string; categoryIds?: string[]; accountIds?: string[]; tagIds?: string[]; merchantIds?: string[]; search?: string; isCredit?: boolean; absAmountRange?: [number?, number?]; } export interface CreateTransactionInput { accountId: string; merchant: string; amount: number; date: string; categoryId?: string; notes?: string; } export interface UpdateTransactionInput { merchant?: string; amount?: number; date?: string; categoryId?: string; notes?: string; hideFromReports?: boolean; } export interface TransactionSplit { amount: number; categoryId?: string; } export interface CreateTransactionRuleInput { name: string; conditions: RuleCondition[]; actions: RuleAction[]; priority?: number; } export interface UpdateTransactionRuleInput { name?: string; conditions?: RuleCondition[]; actions?: RuleAction[]; priority?: number; isEnabled?: boolean; } export interface RuleCondition { field: string; operator: string; value: any; } export interface RuleAction { type: string; value: any; } export interface CreateTransactionCategoryInput { name: string; groupId: string; icon?: string; color?: string; } export interface UpdateTransactionCategoryInput { name?: string; icon?: string; color?: string; } export interface CreateTransactionTagInput { name: string; color: string; } export interface GetMerchantsOptions { search?: string; limit?: number; } export interface GetRecurringTransactionsOptions { startDate?: string; endDate?: string; } export interface GetRecurringStreamsOptions { includeLiabilities?: boolean; includePending?: boolean; filters?: any; } export interface GetAggregatedRecurringItemsOptions { startDate: string; endDate: string; groupBy?: string; filters?: any; } export interface GetAllRecurringTransactionItemsOptions { filters?: any; includeLiabilities?: boolean; } export interface BulkUpdateTransactionsInput { transactionIds: string[]; updates: Record; excludedTransactionIds?: string[]; allSelected?: boolean; filters?: any; } export interface GetHiddenTransactionsOptions { limit?: number; offset?: number; orderBy?: string; } export declare class TransactionsAPIImpl implements TransactionsAPI { private graphql; constructor(graphql: GraphQLClient); getTransactions(options?: GetTransactionsOptions): Promise; getTransactionDetails(transactionId: string): Promise; createTransaction(data: CreateTransactionInput): Promise; updateTransaction(transactionId: string, data: UpdateTransactionInput): Promise; deleteTransaction(transactionId: string): Promise; getTransactionsSummary(): Promise; getTransactionsSummaryCard(): Promise; getTransactionSplits(transactionId: string): Promise; updateTransactionSplits(transactionId: string, splits: TransactionSplit[]): Promise; getTransactionRules(): Promise; createTransactionRule(data: CreateTransactionRuleInput): Promise; updateTransactionRule(ruleId: string, data: UpdateTransactionRuleInput): Promise; deleteTransactionRule(ruleId: string): Promise; deleteAllTransactionRules(): Promise; previewTransactionRule(conditions: RuleCondition[], actions: RuleAction[]): Promise; getTransactionCategories(): Promise; createTransactionCategory(data: CreateTransactionCategoryInput): Promise; updateTransactionCategory(categoryId: string, data: UpdateTransactionCategoryInput): Promise; deleteTransactionCategory(categoryId: string): Promise; getTransactionCategoryGroups(): Promise; getCategoryDetails(categoryId: string): Promise; getTransactionTags(): Promise; createTransactionTag(data: CreateTransactionTagInput): Promise; setTransactionTags(transactionId: string, tagIds: string[]): Promise; getMerchants(options?: GetMerchantsOptions): Promise; getMerchantDetails(merchantId: string): Promise; getEditMerchant(merchantId: string): Promise; getRecurringTransactions(options?: GetRecurringTransactionsOptions): Promise; getRecurringStreams(options?: GetRecurringStreamsOptions): Promise; getAggregatedRecurringItems(options: GetAggregatedRecurringItemsOptions): Promise; getAllRecurringTransactionItems(options?: GetAllRecurringTransactionItemsOptions): Promise; reviewRecurringStream(streamId: string, reviewStatus: string): Promise; markStreamAsNotRecurring(streamId: string): Promise; getRecurringMerchantSearchStatus(): Promise; bulkUpdateTransactions(data: BulkUpdateTransactionsInput): Promise; bulkHideTransactions(transactionIds: string[], filters?: any): Promise; bulkUnhideTransactions(transactionIds: string[], filters?: any): Promise; getHiddenTransactions(options?: GetHiddenTransactionsOptions): Promise; } //# sourceMappingURL=TransactionsAPI.d.ts.map