import { DateRange, DetailedCategoryWithTransactions } from '../types'; import { GlobalStore } from './GlobalStore'; export declare class TrendsStore { globalStore: GlobalStore; selectedCategoryData: DetailedCategoryWithTransactions | null; selectedDateRange: DateRange; visibleListLength: number; constructor(globalStore: GlobalStore); setSelectedCategoryData: (data: DetailedCategoryWithTransactions | null) => void; /** * Resolve a category guid — top level or sub-category — to the data the * category details drawer renders. * * `detailedCategoriesWithTransactions` only holds top-level categories, and a * sub-category carries `totalAmount: 0` / `totalMonthlyAmounts: []` so it is * not double counted inside its parent. The drawer reads both fields, so a * sub-category is rebuilt from its own range total and monthly series. * * The tabular view only routes sub-category guids here today; the top-level * branch keeps this a complete resolver for any guid the drawer is given. * @param guid - Guid of the category to resolve */ getCategoryWithTransactions: (guid: string) => DetailedCategoryWithTransactions | undefined; setSelectedDateRange: (dateRange: DateRange) => void; setVisibleListLength: (length: number) => void; get sortedDetailedCategoriesWithTransactions(): DetailedCategoryWithTransactions[]; get isTransactionStoreIdle(): boolean; get isSelectedRangeLoaded(): boolean; get selectedDateRangeMonthCount(): number; get selectedDateRangeMonthRange(): string; get visibleCategories(): DetailedCategoryWithTransactions[]; get collapsedCategories(): DetailedCategoryWithTransactions[]; get categoryDetailsChartData(): { monthlyAmounts: { x: string; y: number; }[]; tooltipLabels: { label: string; amount: number; header: string; }[][]; }; }