@actual-app/api 25.3.0 → 25.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/@types/loot-core/client/accounts/accountsSlice.d.ts +175 -0
  2. package/@types/loot-core/client/app/appSlice.d.ts +175 -0
  3. package/@types/loot-core/client/budgets/budgetsSlice.d.ts +401 -0
  4. package/@types/loot-core/client/modals/modalsSlice.d.ts +486 -0
  5. package/@types/loot-core/client/notifications/notificationsSlice.d.ts +47 -0
  6. package/@types/loot-core/client/platform.d.ts +1 -0
  7. package/@types/loot-core/client/prefs/prefsSlice.d.ts +186 -0
  8. package/@types/loot-core/client/queries/queriesSlice.d.ts +692 -0
  9. package/@types/loot-core/client/redux.d.ts +18546 -0
  10. package/@types/loot-core/client/store/index.d.ts +133 -0
  11. package/@types/loot-core/client/users/usersSlice.d.ts +89 -0
  12. package/@types/loot-core/platform/client/fetch/index.d.ts +1 -10
  13. package/@types/loot-core/platform/client/undo/index.d.ts +19 -31
  14. package/@types/loot-core/platform/exceptions/index.d.ts +2 -5
  15. package/@types/loot-core/platform/server/connection/index.d.ts +0 -3
  16. package/@types/loot-core/platform/server/fetch/index.d.ts +1 -4
  17. package/@types/loot-core/platform/server/log/index.d.ts +4 -6
  18. package/@types/loot-core/server/accounts/app.d.ts +19 -5
  19. package/@types/loot-core/server/accounts/link.d.ts +6 -1
  20. package/@types/loot-core/server/admin/app.d.ts +54 -1
  21. package/@types/loot-core/server/api-models.d.ts +22 -22
  22. package/@types/loot-core/server/aql/exec.d.ts +1 -1
  23. package/@types/loot-core/server/aql/schema/index.d.ts +9 -0
  24. package/@types/loot-core/server/budget/actions.d.ts +6 -5
  25. package/@types/loot-core/server/budget/app.d.ts +103 -2
  26. package/@types/loot-core/server/budget/cleanup-template.d.ts +1 -1
  27. package/@types/loot-core/server/budget/goaltemplates.d.ts +1 -1
  28. package/@types/loot-core/server/budget/statements.d.ts +2 -2
  29. package/@types/loot-core/server/budget/template-notes.d.ts +1 -1
  30. package/@types/loot-core/server/budget/types/templates.d.ts +2 -1
  31. package/@types/loot-core/server/cloud-storage.d.ts +1 -1
  32. package/@types/loot-core/server/dashboard/app.d.ts +35 -1
  33. package/@types/loot-core/server/db/index.d.ts +38 -31
  34. package/@types/loot-core/server/db/sort.d.ts +1 -1
  35. package/@types/loot-core/server/encryption-internals.d.ts +5 -5
  36. package/@types/loot-core/server/encryption-internals.web.d.ts +2 -2
  37. package/@types/loot-core/server/encryption.d.ts +3 -3
  38. package/@types/loot-core/server/filters/app.d.ts +10 -1
  39. package/@types/loot-core/server/main-app.d.ts +1 -1
  40. package/@types/loot-core/server/models.d.ts +24 -23
  41. package/@types/loot-core/server/notes/app.d.ts +6 -1
  42. package/@types/loot-core/server/payees/app.d.ts +48 -0
  43. package/@types/loot-core/server/preferences/app.d.ts +1 -10
  44. package/@types/loot-core/server/reports/app.d.ts +9 -1
  45. package/@types/loot-core/server/rules/app.d.ts +50 -1
  46. package/@types/loot-core/server/schedules/app.d.ts +25 -2
  47. package/@types/loot-core/server/schedules/find-schedules.d.ts +1 -1
  48. package/@types/loot-core/server/server-config.d.ts +1 -0
  49. package/@types/loot-core/server/sheet.d.ts +1 -1
  50. package/@types/loot-core/server/spreadsheet/app.d.ts +38 -0
  51. package/@types/loot-core/server/spreadsheet/graph-data-structure.d.ts +4 -4
  52. package/@types/loot-core/server/spreadsheet/spreadsheet.d.ts +3 -2
  53. package/@types/loot-core/server/sync/app.d.ts +38 -0
  54. package/@types/loot-core/server/sync/make-test-message.d.ts +1 -1
  55. package/@types/loot-core/server/tools/app.d.ts +13 -1
  56. package/@types/loot-core/server/transactions/transaction-rules.d.ts +5 -4
  57. package/@types/loot-core/server/undo.d.ts +1 -1
  58. package/@types/loot-core/shared/async.d.ts +4 -3
  59. package/@types/loot-core/shared/locale.d.ts +1 -0
  60. package/@types/loot-core/shared/months.d.ts +2 -2
  61. package/@types/loot-core/shared/schedules.d.ts +5 -3
  62. package/@types/loot-core/shared/util.d.ts +4 -1
  63. package/@types/loot-core/types/handlers.d.ts +16 -10
  64. package/@types/loot-core/types/models/account.d.ts +2 -1
  65. package/@types/loot-core/types/models/bank-sync.d.ts +1 -1
  66. package/@types/loot-core/types/models/index.d.ts +5 -1
  67. package/@types/loot-core/types/models/openid.d.ts +2 -1
  68. package/@types/loot-core/types/models/payee.d.ts +2 -2
  69. package/@types/loot-core/types/models/pluggyai.d.ts +18 -0
  70. package/@types/loot-core/types/models/user-access.d.ts +10 -0
  71. package/@types/loot-core/types/models/user.d.ts +17 -18
  72. package/@types/loot-core/types/prefs.d.ts +13 -1
  73. package/@types/loot-core/types/server-handlers.d.ts +0 -99
  74. package/@types/loot-core/types/util.d.ts +7 -0
  75. package/dist/app/bundle.api.js +93477 -49658
  76. package/dist/index.js +17 -7
  77. package/dist/jest.config.js +0 -2
  78. package/dist/methods.js +17 -7
  79. package/dist/migrations/1740506588539_add_last_reconciled_at.sql +5 -0
  80. package/dist/package.json +8 -8
  81. package/dist/validateNodeVersion.js +17 -7
  82. package/package.json +8 -8
  83. package/@types/loot-core/client/constants.d.ts +0 -21
  84. package/@types/loot-core/client/state-types/budgets.d.ts +0 -36
  85. package/@types/loot-core/client/state-types/index.d.ts +0 -27
  86. package/@types/loot-core/client/state-types/modals.d.ts +0 -392
  87. package/@types/loot-core/client/state-types/notifications.d.ts +0 -57
  88. package/@types/loot-core/client/state-types/prefs.d.ts +0 -40
  89. package/@types/loot-core/client/state-types/user.d.ts +0 -13
  90. package/@types/loot-core/server/admin/types/handlers.d.ts +0 -43
  91. package/@types/loot-core/server/budget/types/handlers.d.ts +0 -91
  92. package/@types/loot-core/server/dashboard/types/handlers.d.ts +0 -24
  93. package/@types/loot-core/server/filters/types/handlers.d.ts +0 -7
  94. package/@types/loot-core/server/notes/types/handlers.d.ts +0 -3
  95. package/@types/loot-core/server/reports/types/handlers.d.ts +0 -6
  96. package/@types/loot-core/server/rules/types/handlers.d.ts +0 -40
  97. package/@types/loot-core/server/schedules/types/handlers.d.ts +0 -31
  98. package/@types/loot-core/server/tools/types/handlers.d.ts +0 -11
  99. package/@types/loot-core/types/models/userAccess.d.ts +0 -9
  100. package/dist/methods.test.js +0 -541
  101. /package/@types/{methods.test.d.ts → loot-core/server/api.test.d.ts} +0 -0
@@ -1,4 +1,44 @@
1
- import { BudgetHandlers } from './types/handlers';
1
+ import { CategoryEntity, CategoryGroupEntity } from '../../types/models';
2
+ import * as actions from './actions';
3
+ import * as cleanupActions from './cleanup-template';
4
+ import * as goalActions from './goaltemplates';
5
+ export interface BudgetHandlers {
6
+ 'budget/budget-amount': typeof actions.setBudget;
7
+ 'budget/copy-previous-month': typeof actions.copyPreviousMonth;
8
+ 'budget/copy-single-month': typeof actions.copySinglePreviousMonth;
9
+ 'budget/set-zero': typeof actions.setZero;
10
+ 'budget/set-3month-avg': typeof actions.set3MonthAvg;
11
+ 'budget/set-6month-avg': typeof actions.set6MonthAvg;
12
+ 'budget/set-12month-avg': typeof actions.set12MonthAvg;
13
+ 'budget/set-n-month-avg': typeof actions.setNMonthAvg;
14
+ 'budget/check-templates': typeof goalActions.runCheckTemplates;
15
+ 'budget/apply-goal-template': typeof goalActions.applyTemplate;
16
+ 'budget/apply-multiple-templates': typeof goalActions.applyMultipleCategoryTemplates;
17
+ 'budget/overwrite-goal-template': typeof goalActions.overwriteTemplate;
18
+ 'budget/apply-single-template': typeof goalActions.applySingleCategoryTemplate;
19
+ 'budget/cleanup-goal-template': typeof cleanupActions.cleanupTemplate;
20
+ 'budget/hold-for-next-month': typeof actions.holdForNextMonth;
21
+ 'budget/reset-hold': typeof actions.resetHold;
22
+ 'budget/cover-overspending': typeof actions.coverOverspending;
23
+ 'budget/transfer-available': typeof actions.transferAvailable;
24
+ 'budget/cover-overbudgeted': typeof actions.coverOverbudgeted;
25
+ 'budget/transfer-category': typeof actions.transferCategory;
26
+ 'budget/set-carryover': typeof actions.setCategoryCarryover;
27
+ 'get-categories': typeof getCategories;
28
+ 'get-budget-bounds': typeof getBudgetBounds;
29
+ 'envelope-budget-month': typeof envelopeBudgetMonth;
30
+ 'tracking-budget-month': typeof trackingBudgetMonth;
31
+ 'category-create': typeof createCategory;
32
+ 'category-update': typeof updateCategory;
33
+ 'category-move': typeof moveCategory;
34
+ 'category-delete': typeof deleteCategory;
35
+ 'get-category-groups': typeof getCategoryGroups;
36
+ 'category-group-create': typeof createCategoryGroup;
37
+ 'category-group-update': typeof updateCategoryGroup;
38
+ 'category-group-move': typeof moveCategoryGroup;
39
+ 'category-group-delete': typeof deleteCategoryGroup;
40
+ 'must-category-transfer': typeof isCategoryTransferRequired;
41
+ }
2
42
  export declare const app: {
3
43
  events: import("mitt").Emitter<{
4
44
  sync: import("../../types/server-events").ServerEvents["sync-event"];
@@ -9,9 +49,70 @@ export declare const app: {
9
49
  handlers: BudgetHandlers;
10
50
  services: (() => () => void)[];
11
51
  unlistenServices: (() => void)[];
12
- method<Name extends "budget/budget-amount" | "budget/copy-previous-month" | "budget/set-zero" | "budget/set-3month-avg" | "budget/set-6month-avg" | "budget/set-12month-avg" | "budget/check-templates" | "budget/apply-goal-template" | "budget/overwrite-goal-template" | "budget/cleanup-goal-template" | "budget/hold-for-next-month" | "budget/reset-hold" | "budget/cover-overspending" | "budget/transfer-available" | "budget/cover-overbudgeted" | "budget/transfer-category" | "budget/set-carryover" | "budget/apply-single-template" | "budget/set-n-month-avg" | "budget/copy-single-month" | "budget/apply-multiple-templates">(name: Name, func: BudgetHandlers[Name]): void;
52
+ method<Name extends "budget/budget-amount" | "budget/copy-previous-month" | "budget/copy-single-month" | "budget/set-zero" | "budget/set-3month-avg" | "budget/set-6month-avg" | "budget/set-12month-avg" | "budget/set-n-month-avg" | "budget/check-templates" | "budget/apply-goal-template" | "budget/apply-multiple-templates" | "budget/overwrite-goal-template" | "budget/apply-single-template" | "budget/cleanup-goal-template" | "budget/hold-for-next-month" | "budget/reset-hold" | "budget/cover-overspending" | "budget/transfer-available" | "budget/cover-overbudgeted" | "budget/transfer-category" | "budget/set-carryover" | "get-categories" | "get-budget-bounds" | "envelope-budget-month" | "tracking-budget-month" | "category-create" | "category-update" | "category-move" | "category-delete" | "get-category-groups" | "category-group-create" | "category-group-update" | "category-group-move" | "category-group-delete" | "must-category-transfer">(name: Name, func: BudgetHandlers[Name]): void;
13
53
  service(func: () => () => void): void;
14
54
  combine(...apps: any[]): void;
15
55
  startServices(): void;
16
56
  stopServices(): void;
17
57
  };
58
+ declare function getCategories(): Promise<{
59
+ grouped: CategoryGroupEntity[];
60
+ list: CategoryEntity[];
61
+ }>;
62
+ declare function getBudgetBounds(): Promise<{
63
+ start: string;
64
+ end: string;
65
+ }>;
66
+ declare function envelopeBudgetMonth({ month }: {
67
+ month: string;
68
+ }): Promise<{
69
+ value: string | number | boolean;
70
+ name: string;
71
+ }[]>;
72
+ declare function trackingBudgetMonth({ month }: {
73
+ month: string;
74
+ }): Promise<{
75
+ value: string | number | boolean;
76
+ name: string;
77
+ }[]>;
78
+ declare function createCategory({ name, groupId, isIncome, hidden, }: {
79
+ name: string;
80
+ groupId: CategoryGroupEntity['id'];
81
+ isIncome?: boolean;
82
+ hidden?: boolean;
83
+ }): Promise<CategoryEntity['id']>;
84
+ declare function updateCategory(category: CategoryEntity): Promise<{
85
+ error?: {
86
+ type: 'category-exists';
87
+ };
88
+ }>;
89
+ declare function moveCategory({ id, groupId, targetId, }: {
90
+ id: CategoryEntity['id'];
91
+ groupId: CategoryGroupEntity['id'];
92
+ targetId: CategoryEntity['id'];
93
+ }): Promise<void>;
94
+ declare function deleteCategory({ id, transferId, }: {
95
+ id: CategoryEntity['id'];
96
+ transferId?: CategoryEntity['id'];
97
+ }): Promise<{
98
+ error?: 'no-categories' | 'category-type';
99
+ }>;
100
+ declare function getCategoryGroups(): Promise<CategoryGroupEntity[]>;
101
+ declare function createCategoryGroup({ name, isIncome, hidden, }: {
102
+ name: CategoryGroupEntity['name'];
103
+ isIncome?: CategoryGroupEntity['is_income'];
104
+ hidden?: CategoryGroupEntity['hidden'];
105
+ }): Promise<CategoryGroupEntity['id']>;
106
+ declare function updateCategoryGroup(group: CategoryGroupEntity): Promise<void>;
107
+ declare function moveCategoryGroup({ id, targetId, }: {
108
+ id: CategoryGroupEntity['id'];
109
+ targetId: CategoryGroupEntity['id'];
110
+ }): Promise<void>;
111
+ declare function deleteCategoryGroup({ id, transferId, }: {
112
+ id: CategoryGroupEntity['id'];
113
+ transferId: CategoryGroupEntity['id'];
114
+ }): Promise<void>;
115
+ declare function isCategoryTransferRequired({ id, }: {
116
+ id: CategoryEntity['id'];
117
+ }): Promise<boolean>;
118
+ export {};
@@ -1,4 +1,4 @@
1
- import { Notification } from '../../client/state-types/notifications';
1
+ import { Notification } from '../../client/notifications/notificationsSlice';
2
2
  export declare function cleanupTemplate({ month }: {
3
3
  month: string;
4
4
  }): Promise<Notification>;
@@ -1,4 +1,4 @@
1
- import { Notification } from '../../client/state-types/notifications';
1
+ import { Notification } from '../../client/notifications/notificationsSlice';
2
2
  export declare function applyTemplate({ month }: {
3
3
  month: any;
4
4
  }): Promise<Notification>;
@@ -1,4 +1,4 @@
1
- import { DbSchedule } from '../db';
1
+ import * as db from '../db';
2
2
  export declare function resetCategoryGoalDefsWithNoTemplates(): Promise<void>;
3
3
  export type CategoryWithTemplateNote = {
4
4
  id: string;
@@ -6,4 +6,4 @@ export type CategoryWithTemplateNote = {
6
6
  note: string;
7
7
  };
8
8
  export declare function getCategoriesWithTemplateNotes(): Promise<CategoryWithTemplateNote[]>;
9
- export declare function getActiveSchedules(): Promise<DbSchedule[]>;
9
+ export declare function getActiveSchedules(): Promise<Pick<db.DbSchedule, "id" | "name" | "tombstone" | "rule" | "active" | "completed" | "posts_transaction">[]>;
@@ -1,4 +1,4 @@
1
- import { Notification } from '../../client/state-types/notifications';
1
+ import { Notification } from '../../client/notifications/notificationsSlice';
2
2
  export declare const TEMPLATE_PREFIX = "#template";
3
3
  export declare const GOAL_PREFIX = "#goal";
4
4
  export declare function storeTemplates(): Promise<void>;
@@ -23,7 +23,8 @@ interface ByTemplate extends BaseTemplate {
23
23
  type: 'by';
24
24
  amount: number;
25
25
  month: string;
26
- repeat?: { annual: boolean; repeat?: number };
26
+ annual?: boolean;
27
+ repeat?: number;
27
28
  from?: string;
28
29
  }
29
30
 
@@ -27,7 +27,7 @@ export declare function resetSyncState(newKeyState: any): Promise<{
27
27
  } | {
28
28
  error?: undefined;
29
29
  }>;
30
- export declare function exportBuffer(): Promise<Buffer>;
30
+ export declare function exportBuffer(): Promise<Buffer<ArrayBuffer>>;
31
31
  export declare function importBuffer(fileData: any, buffer: any): Promise<{
32
32
  id: any;
33
33
  }>;
@@ -1,4 +1,37 @@
1
- import { DashboardHandlers } from './types/handlers';
1
+ import { type Widget } from '../../types/models';
2
+ import { type EverythingButIdOptional } from '../../types/util';
3
+ declare function updateDashboard(widgets: EverythingButIdOptional<Omit<Widget, 'tombstone'>>[]): Promise<void>;
4
+ declare function updateDashboardWidget(widget: EverythingButIdOptional<Omit<Widget, 'tombstone'>>): Promise<void>;
5
+ declare function resetDashboard(): Promise<void>;
6
+ declare function addDashboardWidget(widget: Omit<Widget, 'id' | 'x' | 'y' | 'tombstone'> & Partial<Pick<Widget, 'x' | 'y'>>): Promise<void>;
7
+ declare function removeDashboardWidget(widgetId: string): Promise<void>;
8
+ declare function importDashboard({ filepath }: {
9
+ filepath: string;
10
+ }): Promise<{
11
+ status: "ok";
12
+ error?: undefined;
13
+ message?: undefined;
14
+ } | {
15
+ error: "json-parse-error";
16
+ status?: undefined;
17
+ message?: undefined;
18
+ } | {
19
+ error: "validation-error";
20
+ message: string;
21
+ status?: undefined;
22
+ } | {
23
+ error: "internal-error";
24
+ status?: undefined;
25
+ message?: undefined;
26
+ }>;
27
+ export type DashboardHandlers = {
28
+ 'dashboard-update': typeof updateDashboard;
29
+ 'dashboard-update-widget': typeof updateDashboardWidget;
30
+ 'dashboard-reset': typeof resetDashboard;
31
+ 'dashboard-add-widget': typeof addDashboardWidget;
32
+ 'dashboard-remove-widget': typeof removeDashboardWidget;
33
+ 'dashboard-import': typeof importDashboard;
34
+ };
2
35
  export declare const app: {
3
36
  events: import("mitt").Emitter<{
4
37
  sync: import("../../types/server-events").ServerEvents["sync-event"];
@@ -15,3 +48,4 @@ export declare const app: {
15
48
  startServices(): void;
16
49
  stopServices(): void;
17
50
  };
51
+ export {};
@@ -1,6 +1,6 @@
1
1
  import { Database } from '@jlongster/sql.js';
2
- import { CategoryEntity, CategoryGroupEntity } from '../../types/models';
3
- import { DbAccount, DbCategory, DbCategoryGroup, DbPayee, DbTransaction, DbViewTransaction } from './types';
2
+ import { WithRequired } from '../../types/util';
3
+ import { DbAccount, DbBank, DbCategory, DbCategoryGroup, DbPayee, DbTransaction, DbViewTransaction } from './types';
4
4
  export * from './types';
5
5
  export { toDateRepr, fromDateRepr } from '../models';
6
6
  export declare function getDatabasePath(): string;
@@ -9,9 +9,9 @@ export declare function closeDatabase(): Promise<void>;
9
9
  export declare function setDatabase(db_: Database): void;
10
10
  export declare function getDatabase(): {
11
11
  close(): void;
12
- create_function(name: string, func: (...args: any[]) => any): any;
13
- each(sql: string, params: import("@jlongster/sql.js").BindParams, callback: import("@jlongster/sql.js").ParamsCallback, done: () => void): any;
14
- each(sql: string, callback: import("@jlongster/sql.js").ParamsCallback, done: () => void): any;
12
+ create_function(name: string, func: (...args: any[]) => any): /*elided*/ any;
13
+ each(sql: string, params: import("@jlongster/sql.js").BindParams, callback: import("@jlongster/sql.js").ParamsCallback, done: () => void): /*elided*/ any;
14
+ each(sql: string, callback: import("@jlongster/sql.js").ParamsCallback, done: () => void): /*elided*/ any;
15
15
  exec(sql: string, params?: import("@jlongster/sql.js").BindParams): import("@jlongster/sql.js").QueryExecResult[];
16
16
  export(): Uint8Array;
17
17
  getRowsModified(): number;
@@ -46,7 +46,7 @@ export declare function getDatabase(): {
46
46
  run(values?: import("@jlongster/sql.js").BindParams): void;
47
47
  step(): boolean;
48
48
  };
49
- run(sql: string, params?: import("@jlongster/sql.js").BindParams): any;
49
+ run(sql: string, params?: import("@jlongster/sql.js").BindParams): /*elided*/ any;
50
50
  };
51
51
  export declare function loadClock(): Promise<void>;
52
52
  export declare function runQuery(sql: string, params?: Array<string | number>, fetchAll?: false): {
@@ -57,9 +57,9 @@ export declare function execQuery(sql: string): void;
57
57
  export declare function cache(sql: string): string;
58
58
  export declare function transaction(fn: () => void): void;
59
59
  export declare function asyncTransaction(fn: () => Promise<void>): Promise<void>;
60
- export declare function all(sql: any, params?: (string | number)[]): Promise<any[]>;
61
- export declare function first(sql: any, params?: (string | number)[]): Promise<any>;
62
- export declare function firstSync(sql: any, params?: (string | number)[]): any;
60
+ export declare function all<T>(sql: string, params?: (string | number)[]): Promise<T[]>;
61
+ export declare function first<T>(sql: any, params?: (string | number)[]): Promise<T>;
62
+ export declare function firstSync<T>(sql: any, params?: (string | number)[]): T;
63
63
  export declare function run(sql: any, params?: (string | number)[]): Promise<{
64
64
  changes: unknown;
65
65
  }>;
@@ -73,35 +73,42 @@ export declare function selectWithSchema(table: any, sql: any, params: any): Pro
73
73
  export declare function selectFirstWithSchema(table: any, sql: any, params: any): Promise<any>;
74
74
  export declare function insertWithSchema(table: any, row: any): Promise<any>;
75
75
  export declare function updateWithSchema(table: any, fields: any): Promise<void>;
76
- export declare function getCategories(ids?: Array<DbCategory['id']>): Promise<CategoryEntity[]>;
77
- export declare function getCategoriesGrouped(ids?: Array<DbCategoryGroup['id']>): Promise<Array<CategoryGroupEntity>>;
78
- export declare function insertCategoryGroup(group: any): Promise<any>;
79
- export declare function updateCategoryGroup(group: any): Promise<void>;
80
- export declare function moveCategoryGroup(id: any, targetId: any): Promise<void>;
81
- export declare function deleteCategoryGroup(group: any, transferId?: string): Promise<void>;
82
- export declare function insertCategory(category: any, { atEnd }?: {
83
- atEnd: any;
84
- }): Promise<any>;
85
- export declare function updateCategory(category: any): Promise<void>;
86
- export declare function moveCategory(id: DbCategory['id'], groupId: DbCategoryGroup['id'], targetId?: DbCategory['id']): Promise<void>;
76
+ export declare function getCategories(ids?: Array<DbCategory['id']>): Promise<DbCategory[]>;
77
+ export declare function getCategoriesGrouped(ids?: Array<DbCategoryGroup['id']>): Promise<Array<DbCategoryGroup & {
78
+ categories: DbCategory[];
79
+ }>>;
80
+ export declare function insertCategoryGroup(group: WithRequired<Partial<DbCategoryGroup>, 'name'>): Promise<DbCategoryGroup['id']>;
81
+ export declare function updateCategoryGroup(group: WithRequired<Partial<DbCategoryGroup>, 'name' | 'is_income'>): Promise<void>;
82
+ export declare function moveCategoryGroup(id: DbCategoryGroup['id'], targetId: DbCategoryGroup['id']): Promise<void>;
83
+ export declare function deleteCategoryGroup(group: Pick<DbCategoryGroup, 'id'>, transferId?: string): Promise<void>;
84
+ export declare function insertCategory(category: WithRequired<Partial<DbCategory>, 'name' | 'cat_group'>, { atEnd }?: {
85
+ atEnd?: boolean | undefined;
86
+ }): Promise<DbCategory['id']>;
87
+ export declare function updateCategory(category: WithRequired<Partial<DbCategory>, 'name' | 'is_income' | 'cat_group'>): Promise<void>;
88
+ export declare function moveCategory(id: DbCategory['id'], groupId: DbCategoryGroup['id'], targetId: DbCategory['id'] | null): Promise<void>;
87
89
  export declare function deleteCategory(category: Pick<DbCategory, 'id'>, transferId?: DbCategory['id']): Promise<void>;
88
- export declare function getPayee(id: DbPayee['id']): Promise<any>;
89
- export declare function getAccount(id: DbAccount['id']): Promise<any>;
90
- export declare function insertPayee(payee: any): Promise<any>;
90
+ export declare function getPayee(id: DbPayee['id']): Promise<DbPayee>;
91
+ export declare function getAccount(id: DbAccount['id']): Promise<DbAccount>;
92
+ export declare function insertPayee(payee: WithRequired<Partial<DbPayee>, 'name'>): Promise<string>;
91
93
  export declare function deletePayee(payee: Pick<DbPayee, 'id'>): Promise<void>;
92
94
  export declare function deleteTransferPayee(payee: Pick<DbPayee, 'id'>): Promise<void>;
93
- export declare function updatePayee(payee: any): Promise<void>;
95
+ export declare function updatePayee(payee: WithRequired<Partial<DbPayee>, 'id'>): Promise<void>;
94
96
  export declare function mergePayees(target: DbPayee['id'], ids: Array<DbPayee['id']>): Promise<void>;
95
- export declare function getPayees(): Promise<any[]>;
96
- export declare function getCommonPayees(): Promise<any[]>;
97
- export declare function syncGetOrphanedPayees(): Promise<any[]>;
98
- export declare function getOrphanedPayees(): Promise<any[]>;
99
- export declare function getPayeeByName(name: DbPayee['name']): Promise<any>;
100
- export declare function getAccounts(): Promise<any[]>;
97
+ export declare function getPayees(): Promise<(DbPayee & {
98
+ name: DbAccount["name"] | DbPayee["name"];
99
+ })[]>;
100
+ export declare function getCommonPayees(): Promise<never[]>;
101
+ export declare function syncGetOrphanedPayees(): Promise<Pick<DbPayee, "id">[]>;
102
+ export declare function getOrphanedPayees(): Promise<string[]>;
103
+ export declare function getPayeeByName(name: DbPayee['name']): Promise<DbPayee>;
104
+ export declare function getAccounts(): Promise<(DbAccount & {
105
+ bankName: DbBank["name"];
106
+ bankId: DbBank["id"];
107
+ })[]>;
101
108
  export declare function insertAccount(account: any): Promise<any>;
102
109
  export declare function updateAccount(account: any): Promise<void>;
103
110
  export declare function deleteAccount(account: any): Promise<void>;
104
- export declare function moveAccount(id: DbAccount['id'], targetId: DbAccount['id']): Promise<void>;
111
+ export declare function moveAccount(id: DbAccount['id'], targetId: DbAccount['id'] | null): Promise<void>;
105
112
  export declare function getTransaction(id: DbViewTransaction['id']): Promise<any>;
106
113
  export declare function getTransactions(accountId: DbTransaction['acct']): Promise<any[]>;
107
114
  export declare function insertTransaction(transaction: any): Promise<any>;
@@ -2,7 +2,7 @@ export declare const SORT_INCREMENT = 16384;
2
2
  export declare function shoveSortOrders<T extends {
3
3
  id: string;
4
4
  sort_order: number;
5
- }>(items: T[], targetId?: string): {
5
+ }>(items: T[], targetId?: string | null): {
6
6
  updates: {
7
7
  id: string;
8
8
  sort_order: number;
@@ -1,7 +1,7 @@
1
1
  export declare function sha256String(str: any): Promise<string>;
2
- export declare function randomBytes(n: any): Buffer;
2
+ export declare function randomBytes(n: any): Buffer<ArrayBufferLike>;
3
3
  export declare function encrypt(masterKey: any, value: any): {
4
- value: Buffer;
4
+ value: Buffer<ArrayBufferLike>;
5
5
  meta: {
6
6
  keyId: any;
7
7
  algorithm: "aes-256-gcm";
@@ -9,15 +9,15 @@ export declare function encrypt(masterKey: any, value: any): {
9
9
  authTag: string;
10
10
  };
11
11
  };
12
- export declare function decrypt(masterKey: any, encrypted: any, meta: any): Buffer;
12
+ export declare function decrypt(masterKey: any, encrypted: any, meta: any): Buffer<ArrayBufferLike>;
13
13
  export declare function createKey({ secret, salt }: {
14
14
  secret: any;
15
15
  salt: any;
16
16
  }): {
17
- raw: Buffer;
17
+ raw: Buffer<ArrayBufferLike>;
18
18
  base64: string;
19
19
  };
20
20
  export declare function importKey(str: any): {
21
- raw: Buffer;
21
+ raw: Buffer<ArrayBuffer>;
22
22
  base64: any;
23
23
  };
@@ -1,5 +1,5 @@
1
1
  export declare function sha256String(str: any): Promise<string>;
2
- export declare function randomBytes(n: any): Buffer;
2
+ export declare function randomBytes(n: any): Buffer<ArrayBuffer>;
3
3
  export declare function encrypt(masterKey: any, value: any): Promise<{
4
4
  value: ArrayBuffer;
5
5
  meta: {
@@ -9,7 +9,7 @@ export declare function encrypt(masterKey: any, value: any): Promise<{
9
9
  authTag: string;
10
10
  };
11
11
  }>;
12
- export declare function decrypt(masterKey: any, encrypted: any, meta: any): Promise<Buffer>;
12
+ export declare function decrypt(masterKey: any, encrypted: any, meta: any): Promise<Buffer<ArrayBuffer>>;
13
13
  export declare function createKey({ secret, salt }: {
14
14
  secret: any;
15
15
  salt: any;
@@ -19,7 +19,7 @@ declare class Key {
19
19
  export declare function getKey(keyId: any): any;
20
20
  export declare function hasKey(keyId: any): boolean;
21
21
  export declare function encrypt(value: any, keyId: any): {
22
- value: Buffer;
22
+ value: Buffer<ArrayBufferLike>;
23
23
  meta: {
24
24
  keyId: any;
25
25
  algorithm: "aes-256-gcm";
@@ -27,8 +27,8 @@ export declare function encrypt(value: any, keyId: any): {
27
27
  authTag: string;
28
28
  };
29
29
  };
30
- export declare function decrypt(encrypted: any, meta: any): Buffer;
31
- export declare function randomBytes(n: any): Buffer;
30
+ export declare function decrypt(encrypted: any, meta: any): Buffer<ArrayBufferLike>;
31
+ export declare function randomBytes(n: any): Buffer<ArrayBufferLike>;
32
32
  export declare function loadKey(key: any): Promise<void>;
33
33
  export declare function unloadKey(key: any): void;
34
34
  export declare function unloadAllKeys(): void;
@@ -1,4 +1,12 @@
1
- import { FiltersHandlers } from './types/handlers';
1
+ import { TransactionFilterEntity } from '../../types/models';
2
+ declare function createFilter(filter: any): Promise<TransactionFilterEntity['id']>;
3
+ declare function updateFilter(filter: any): Promise<void>;
4
+ declare function deleteFilter(id: TransactionFilterEntity['id']): Promise<void>;
5
+ export type FiltersHandlers = {
6
+ 'filter-create': typeof createFilter;
7
+ 'filter-update': typeof updateFilter;
8
+ 'filter-delete': typeof deleteFilter;
9
+ };
2
10
  export declare const app: {
3
11
  events: import("mitt").Emitter<{
4
12
  sync: import("../../types/server-events").ServerEvents["sync-event"];
@@ -15,3 +23,4 @@ export declare const app: {
15
23
  startServices(): void;
16
24
  stopServices(): void;
17
25
  };
26
+ export {};
@@ -9,7 +9,7 @@ export declare const app: {
9
9
  handlers: Handlers;
10
10
  services: (() => () => void)[];
11
11
  unlistenServices: (() => void)[];
12
- method<Name extends "sync" | "load-budget" | "undo" | "redo" | "get-categories" | "get-earliest-transaction" | "get-budget-bounds" | "envelope-budget-month" | "tracking-budget-month" | "category-create" | "category-update" | "category-move" | "category-delete" | "category-group-create" | "category-group-update" | "category-group-move" | "category-group-delete" | "must-category-transfer" | "payee-create" | "common-payees-get" | "payees-get" | "payees-get-rule-counts" | "payees-merge" | "payees-batch-change" | "payees-check-orphaned" | "payees-get-orphaned" | "payees-get-rules" | "make-filters-from-conditions" | "getCell" | "getCells" | "getCellNamesInSheet" | "debugCell" | "create-query" | "query" | "sync-reset" | "sync-repair" | "key-make" | "key-test" | "get-did-bootstrap" | "subscribe-needs-bootstrap" | "subscribe-get-login-methods" | "subscribe-bootstrap" | "subscribe-get-user" | "subscribe-change-password" | "subscribe-sign-in" | "subscribe-sign-out" | "subscribe-set-token" | "get-server-version" | "get-server-url" | "set-server-url" | "validate-budget-name" | "unique-budget-name" | "get-budgets" | "get-remote-files" | "get-user-file-info" | "reset-budget-cache" | "upload-budget" | "download-budget" | "sync-budget" | "create-demo-budget" | "close-budget" | "delete-budget" | "duplicate-budget" | "create-budget" | "import-budget" | "export-budget" | "upload-file-web" | "backups-get" | "backup-load" | "backup-make" | "get-last-opened-backup" | "app-focused" | "enable-openid" | "enable-password" | "get-openid-config" | "api/batch-budget-start" | "api/batch-budget-end" | "api/load-budget" | "api/download-budget" | "api/get-budgets" | "api/start-import" | "api/finish-import" | "api/abort-import" | "api/query" | "api/budget-months" | "api/budget-month" | "api/budget-set-amount" | "api/budget-set-carryover" | "api/budget-hold-for-next-month" | "api/budget-reset-hold" | "api/transactions-export" | "api/transactions-import" | "api/transactions-add" | "api/transactions-get" | "api/transaction-update" | "api/transaction-delete" | "api/sync" | "api/bank-sync" | "api/accounts-get" | "api/account-create" | "api/account-update" | "api/account-close" | "api/account-reopen" | "api/account-delete" | "api/account-balance" | "api/categories-get" | "api/category-groups-get" | "api/category-group-create" | "api/category-group-update" | "api/category-group-delete" | "api/category-create" | "api/category-update" | "api/category-delete" | "api/payees-get" | "api/common-payees-get" | "api/payee-create" | "api/payee-update" | "api/payee-delete" | "api/payees-merge" | "api/rules-get" | "api/payee-rules-get" | "api/rule-create" | "api/rule-update" | "api/rule-delete" | "budget/budget-amount" | "budget/copy-previous-month" | "budget/set-zero" | "budget/set-3month-avg" | "budget/set-6month-avg" | "budget/set-12month-avg" | "budget/check-templates" | "budget/apply-goal-template" | "budget/overwrite-goal-template" | "budget/cleanup-goal-template" | "budget/hold-for-next-month" | "budget/reset-hold" | "budget/cover-overspending" | "budget/transfer-available" | "budget/cover-overbudgeted" | "budget/transfer-category" | "budget/set-carryover" | "budget/apply-single-template" | "budget/set-n-month-avg" | "budget/copy-single-month" | "budget/apply-multiple-templates" | "dashboard-update" | "dashboard-update-widget" | "dashboard-reset" | "dashboard-add-widget" | "dashboard-remove-widget" | "dashboard-import" | "filter-create" | "filter-update" | "filter-delete" | "notes-save" | "preferences/save" | "preferences/get" | "save-global-prefs" | "load-global-prefs" | "save-prefs" | "load-prefs" | "report/create" | "report/update" | "report/delete" | "rule-validate" | "rule-add" | "rule-update" | "rule-delete" | "rule-delete-all" | "rule-apply-actions" | "rule-add-payee-rename" | "rules-get" | "rule-get" | "rules-run" | "schedule/create" | "schedule/update" | "schedule/delete" | "schedule/skip-next-date" | "schedule/post-transaction" | "schedule/force-run-service" | "schedule/discover" | "schedule/get-upcoming-dates" | "transactions-batch-update" | "transaction-add" | "transaction-update" | "transaction-delete" | "transactions-parse-file" | "transactions-export" | "transactions-export-query" | "users-get" | "user-delete-all" | "user-add" | "user-update" | "access-add" | "access-delete-all" | "access-get-available-users" | "transfer-ownership" | "owner-created" | "tools/fix-split-transactions" | "account-update" | "accounts-get" | "account-balance" | "account-properties" | "gocardless-accounts-link" | "simplefin-accounts-link" | "account-create" | "account-close" | "account-reopen" | "account-move" | "secret-set" | "secret-check" | "gocardless-poll-web-token" | "gocardless-poll-web-token-stop" | "gocardless-status" | "simplefin-status" | "simplefin-accounts" | "gocardless-get-banks" | "gocardless-create-web-token" | "accounts-bank-sync" | "simplefin-batch-sync" | "transactions-import" | "account-unlink">(name: Name, func: Handlers[Name]): void;
12
+ method<Name extends "sync" | "load-budget" | "undo" | "redo" | "get-earliest-transaction" | "make-filters-from-conditions" | "query" | "key-make" | "key-test" | "get-did-bootstrap" | "subscribe-needs-bootstrap" | "subscribe-get-login-methods" | "subscribe-bootstrap" | "subscribe-get-user" | "subscribe-change-password" | "subscribe-sign-in" | "subscribe-sign-out" | "subscribe-set-token" | "get-server-version" | "get-server-url" | "set-server-url" | "validate-budget-name" | "unique-budget-name" | "get-budgets" | "get-remote-files" | "get-user-file-info" | "reset-budget-cache" | "upload-budget" | "download-budget" | "sync-budget" | "create-demo-budget" | "close-budget" | "delete-budget" | "duplicate-budget" | "create-budget" | "import-budget" | "export-budget" | "upload-file-web" | "backups-get" | "backup-load" | "backup-make" | "get-last-opened-backup" | "app-focused" | "enable-openid" | "enable-password" | "get-openid-config" | "api/batch-budget-start" | "api/batch-budget-end" | "api/load-budget" | "api/download-budget" | "api/get-budgets" | "api/start-import" | "api/finish-import" | "api/abort-import" | "api/query" | "api/budget-months" | "api/budget-month" | "api/budget-set-amount" | "api/budget-set-carryover" | "api/budget-hold-for-next-month" | "api/budget-reset-hold" | "api/transactions-export" | "api/transactions-import" | "api/transactions-add" | "api/transactions-get" | "api/transaction-update" | "api/transaction-delete" | "api/sync" | "api/bank-sync" | "api/accounts-get" | "api/account-create" | "api/account-update" | "api/account-close" | "api/account-reopen" | "api/account-delete" | "api/account-balance" | "api/categories-get" | "api/category-groups-get" | "api/category-group-create" | "api/category-group-update" | "api/category-group-delete" | "api/category-create" | "api/category-update" | "api/category-delete" | "api/payees-get" | "api/common-payees-get" | "api/payee-create" | "api/payee-update" | "api/payee-delete" | "api/payees-merge" | "api/rules-get" | "api/payee-rules-get" | "api/rule-create" | "api/rule-update" | "api/rule-delete" | "budget/budget-amount" | "budget/copy-previous-month" | "budget/copy-single-month" | "budget/set-zero" | "budget/set-3month-avg" | "budget/set-6month-avg" | "budget/set-12month-avg" | "budget/set-n-month-avg" | "budget/check-templates" | "budget/apply-goal-template" | "budget/apply-multiple-templates" | "budget/overwrite-goal-template" | "budget/apply-single-template" | "budget/cleanup-goal-template" | "budget/hold-for-next-month" | "budget/reset-hold" | "budget/cover-overspending" | "budget/transfer-available" | "budget/cover-overbudgeted" | "budget/transfer-category" | "budget/set-carryover" | "get-categories" | "get-budget-bounds" | "envelope-budget-month" | "tracking-budget-month" | "category-create" | "category-update" | "category-move" | "category-delete" | "get-category-groups" | "category-group-create" | "category-group-update" | "category-group-move" | "category-group-delete" | "must-category-transfer" | "dashboard-update" | "dashboard-update-widget" | "dashboard-reset" | "dashboard-add-widget" | "dashboard-remove-widget" | "dashboard-import" | "filter-create" | "filter-update" | "filter-delete" | "notes-save" | "preferences/save" | "preferences/get" | "save-global-prefs" | "load-global-prefs" | "save-prefs" | "load-prefs" | "report/create" | "report/update" | "report/delete" | "rule-validate" | "rule-add" | "rule-update" | "rule-delete" | "rule-delete-all" | "rule-apply-actions" | "rule-add-payee-rename" | "rules-get" | "rule-get" | "rules-run" | "schedule/create" | "schedule/update" | "schedule/delete" | "schedule/skip-next-date" | "schedule/post-transaction" | "schedule/force-run-service" | "schedule/discover" | "schedule/get-upcoming-dates" | "transactions-batch-update" | "transaction-add" | "transaction-update" | "transaction-delete" | "transactions-parse-file" | "transactions-export" | "transactions-export-query" | "users-get" | "user-delete-all" | "user-add" | "user-update" | "access-add" | "access-delete-all" | "access-get-available-users" | "transfer-ownership" | "owner-created" | "tools/fix-split-transactions" | "account-update" | "accounts-get" | "account-balance" | "account-properties" | "gocardless-accounts-link" | "simplefin-accounts-link" | "pluggyai-accounts-link" | "account-create" | "account-close" | "account-reopen" | "account-move" | "secret-set" | "secret-check" | "gocardless-poll-web-token" | "gocardless-poll-web-token-stop" | "gocardless-status" | "simplefin-status" | "pluggyai-status" | "simplefin-accounts" | "pluggyai-accounts" | "gocardless-get-banks" | "gocardless-create-web-token" | "accounts-bank-sync" | "simplefin-batch-sync" | "transactions-import" | "account-unlink" | "payee-create" | "common-payees-get" | "payees-get" | "payees-get-orphaned" | "payees-get-rule-counts" | "payees-merge" | "payees-batch-change" | "payees-check-orphaned" | "payees-get-rules" | "get-cell" | "get-cell-names" | "create-query" | "sync-reset" | "sync-repair">(name: Name, func: Handlers[Name]): void;
13
13
  service(func: () => () => void): void;
14
14
  combine(...apps: any[]): void;
15
15
  startServices(): void;
@@ -1,38 +1,39 @@
1
- import { AccountEntity, CategoryEntity, CategoryGroupEntity, PayeeEntity } from '../types/models';
1
+ import { CategoryEntity, CategoryGroupEntity, PayeeEntity } from '../types/models';
2
+ import { DbAccount, DbCategory, DbCategoryGroup, DbPayee } from './db';
2
3
  export declare function requiredFields<T extends object, K extends keyof T>(name: string, row: T, fields: K[], update?: boolean): void;
3
4
  export declare function toDateRepr(str: string): number;
4
5
  export declare function fromDateRepr(number: number): string;
5
6
  export declare const accountModel: {
6
- validate(account: AccountEntity, { update }?: {
7
+ validate(account: Partial<DbAccount>, { update }?: {
7
8
  update?: boolean;
8
- }): AccountEntity;
9
+ }): DbAccount;
9
10
  };
10
11
  export declare const categoryModel: {
11
- validate(category: CategoryEntity, { update }?: {
12
+ validate(category: Partial<DbCategory>, { update }?: {
12
13
  update?: boolean;
13
- }): {
14
- hidden: number;
15
- id: string;
16
- name: string;
17
- is_income?: boolean;
18
- cat_group?: CategoryGroupEntity["id"];
19
- tombstone?: boolean;
20
- };
14
+ }): DbCategory;
15
+ toDb(category: CategoryEntity, { update }?: {
16
+ update?: boolean;
17
+ }): DbCategory;
18
+ fromDb(category: DbCategory): CategoryEntity;
21
19
  };
22
20
  export declare const categoryGroupModel: {
23
- validate(categoryGroup: CategoryGroupEntity, { update }?: {
21
+ validate(categoryGroup: Partial<DbCategoryGroup>, { update }?: {
22
+ update?: boolean;
23
+ }): DbCategoryGroup;
24
+ toDb(categoryGroup: CategoryGroupEntity, { update }?: {
24
25
  update?: boolean;
25
- }): {
26
- hidden: number;
27
- id: string;
28
- categories?: CategoryEntity[];
29
- name: string;
30
- is_income?: boolean;
31
- tombstone?: boolean;
32
- };
26
+ }): DbCategoryGroup;
27
+ fromDb(categoryGroup: DbCategoryGroup & {
28
+ categories: DbCategory[];
29
+ }): CategoryGroupEntity;
33
30
  };
34
31
  export declare const payeeModel: {
35
- validate(payee: PayeeEntity, { update }?: {
32
+ validate(payee: Partial<DbPayee>, { update }?: {
33
+ update?: boolean;
34
+ }): DbPayee;
35
+ toDb(payee: PayeeEntity, { update }?: {
36
36
  update?: boolean;
37
- }): PayeeEntity;
37
+ }): DbPayee;
38
+ fromDb(payee: DbPayee): PayeeEntity;
38
39
  };
@@ -1,4 +1,7 @@
1
- import { NotesHandlers } from './types/handlers';
1
+ import { NoteEntity } from '../../types/models';
2
+ export type NotesHandlers = {
3
+ 'notes-save': typeof updateNotes;
4
+ };
2
5
  export declare const app: {
3
6
  events: import("mitt").Emitter<{
4
7
  sync: import("../../types/server-events").ServerEvents["sync-event"];
@@ -15,3 +18,5 @@ export declare const app: {
15
18
  startServices(): void;
16
19
  stopServices(): void;
17
20
  };
21
+ declare function updateNotes({ id, note }: NoteEntity): Promise<void>;
22
+ export {};
@@ -0,0 +1,48 @@
1
+ import { Diff } from '../../shared/util';
2
+ import { PayeeEntity, RuleEntity } from '../../types/models';
3
+ export type PayeesHandlers = {
4
+ 'payee-create': typeof createPayee;
5
+ 'common-payees-get': typeof getCommonPayees;
6
+ 'payees-get': typeof getPayees;
7
+ 'payees-get-orphaned': typeof getOrphanedPayees;
8
+ 'payees-get-rule-counts': typeof getPayeeRuleCounts;
9
+ 'payees-merge': typeof mergePayees;
10
+ 'payees-batch-change': typeof batchChangePayees;
11
+ 'payees-check-orphaned': typeof checkOrphanedPayees;
12
+ 'payees-get-rules': typeof getPayeeRules;
13
+ };
14
+ export declare const app: {
15
+ events: import("mitt").Emitter<{
16
+ sync: import("../../types/server-events").ServerEvents["sync-event"];
17
+ 'load-budget': {
18
+ id: string;
19
+ };
20
+ }>;
21
+ handlers: PayeesHandlers;
22
+ services: (() => () => void)[];
23
+ unlistenServices: (() => void)[];
24
+ method<Name extends "payee-create" | "common-payees-get" | "payees-get" | "payees-get-orphaned" | "payees-get-rule-counts" | "payees-merge" | "payees-batch-change" | "payees-check-orphaned" | "payees-get-rules">(name: Name, func: PayeesHandlers[Name]): void;
25
+ service(func: () => () => void): void;
26
+ combine(...apps: any[]): void;
27
+ startServices(): void;
28
+ stopServices(): void;
29
+ };
30
+ declare function createPayee({ name }: {
31
+ name: PayeeEntity['name'];
32
+ }): Promise<string>;
33
+ declare function getCommonPayees(): Promise<PayeeEntity[]>;
34
+ declare function getPayees(): Promise<PayeeEntity[]>;
35
+ declare function getOrphanedPayees(): Promise<Array<Pick<PayeeEntity, 'id'>>>;
36
+ declare function getPayeeRuleCounts(): Promise<Record<string, number>>;
37
+ declare function mergePayees({ targetId, mergeIds, }: {
38
+ targetId: PayeeEntity['id'];
39
+ mergeIds: Array<PayeeEntity['id']>;
40
+ }): Promise<void>;
41
+ declare function batchChangePayees({ added, deleted, updated, }: Partial<Diff<PayeeEntity>>): Promise<void>;
42
+ declare function checkOrphanedPayees({ ids, }: {
43
+ ids: Array<PayeeEntity['id']>;
44
+ }): Promise<Array<PayeeEntity['id']>>;
45
+ declare function getPayeeRules({ id, }: {
46
+ id: PayeeEntity['id'];
47
+ }): Promise<RuleEntity[]>;
48
+ export {};
@@ -29,16 +29,7 @@ declare function saveSyncedPrefs({ id, value, }: {
29
29
  }): Promise<void>;
30
30
  declare function getSyncedPrefs(): Promise<SyncedPrefs>;
31
31
  declare function saveGlobalPrefs(prefs: GlobalPrefs): Promise<string>;
32
- declare function loadGlobalPrefs(): Promise<{
33
- floatingSidebar: boolean;
34
- maxMonths: number;
35
- documentDir: string;
36
- keyId: any;
37
- language: string;
38
- theme: import("../../types/prefs").Theme;
39
- preferredDarkTheme: import("../../types/prefs").DarkTheme;
40
- serverSelfSignedCert: string;
41
- }>;
32
+ declare function loadGlobalPrefs(): Promise<GlobalPrefs>;
42
33
  declare function saveMetadataPrefs(prefsToSet: MetadataPrefs): Promise<string>;
43
34
  declare function loadMetadataPrefs(): Promise<MetadataPrefs>;
44
35
  export {};