import { Beat, RepeatingTransaction } from '../../../core'; export interface RecurringTransactionBlockState { /** True when the open-time load finished without leaving the store loaded; the block offers a retry. */ hasLoadError: boolean; /** True until the recurring store has loaded; the block shows a loader instead of an empty state. */ isLoading: boolean; /** `undefined` once loading finishes means the subscription could not be resolved. */ repeatingTransaction?: RepeatingTransaction; } /** * Resolves which repeating transaction this drawer is about. * * The guid comes from the beat (`resolveSubscriptionGuid`), then is looked up in * `RecurringTransactionsStore` rather than rebuilt from the beat, because the Expense Details view * edits (payment schedule, mark as paid, delete) must write through to the same store object the * recurring widget renders. * * `detailedRepeatingTransactions` joins the account and linked transactions in, but it is empty until * the transaction store has loaded (see `augmentRepeatingTransactions`). The raw record is the * fallback so a subscription the store has is never reported missing just because transactions are * still on their way. */ export declare const useRecurringTransactionBlock: (beat: Beat) => RecurringTransactionBlockState;