import { GraphQLClient } from '../../client/graphql'; export interface RecurringTransactionStream { id: string; reviewStatus: string; frequency: string; amount: number; baseDate?: string; dayOfTheMonth?: number; isApproximate: boolean; name: string; logoUrl?: string; recurringType: string; isActive: boolean; merchant: { id: string; name: string; logoUrl?: string; }; creditReportLiabilityAccount?: { id: string; account: { id: string; displayName: string; }; }; category: { id: string; name: string; }; account: { id: string; displayName: string; }; } export interface RecurringTransactionItem { stream: RecurringTransactionStream; date: string; isPast: boolean; transactionId?: string; amount: number; amountDiff?: number; category: { id: string; name: string; }; account: { id: string; displayName: string; }; } export interface RecurringTransactionFilter { accounts?: string[]; categories?: string[]; merchants?: string[]; } export interface RecurringAPI { /** * Get all recurring transaction streams */ getRecurringStreams(options?: { includeLiabilities?: boolean; includePending?: boolean; filters?: RecurringTransactionFilter; }): Promise<{ stream: RecurringTransactionStream; }[]>; /** * Get upcoming recurring transaction items for a date range */ getUpcomingRecurringItems(options: { startDate: string; endDate: string; filters?: RecurringTransactionFilter; }): Promise; /** * Mark a recurring stream as not recurring (disable it) */ markStreamAsNotRecurring(streamId: string): Promise; } export declare class RecurringAPIImpl implements RecurringAPI { private graphql; constructor(graphql: GraphQLClient); getRecurringStreams(options?: { includeLiabilities?: boolean; includePending?: boolean; filters?: RecurringTransactionFilter; }): Promise<{ stream: RecurringTransactionStream; }[]>; getUpcomingRecurringItems(options: { startDate: string; endDate: string; filters?: RecurringTransactionFilter; }): Promise; markStreamAsNotRecurring(streamId: string): Promise; } //# sourceMappingURL=RecurringAPI.d.ts.map