@actual-app/api 6.7.0 → 6.8.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 (176) hide show
  1. package/@types/app/bundle.api.d.ts +6 -0
  2. package/@types/app/query.d.ts +19 -0
  3. package/@types/index.d.ts +7 -0
  4. package/@types/injected.d.ts +2 -0
  5. package/@types/jest.config.d.ts +9 -0
  6. package/@types/loot-core/client/actions/types.d.ts +6 -0
  7. package/@types/loot-core/client/constants.d.ts +29 -0
  8. package/@types/loot-core/client/platform.d.ts +4 -0
  9. package/@types/loot-core/client/state-types/account.d.ts +27 -0
  10. package/@types/loot-core/client/state-types/app.d.ts +37 -0
  11. package/@types/loot-core/client/state-types/budgets.d.ts +36 -0
  12. package/@types/loot-core/client/state-types/index.d.ts +41 -0
  13. package/@types/loot-core/client/state-types/modals.d.ts +292 -0
  14. package/@types/loot-core/client/state-types/notifications.d.ts +38 -0
  15. package/@types/loot-core/client/state-types/prefs.d.ts +28 -0
  16. package/@types/loot-core/client/state-types/queries.d.ts +69 -0
  17. package/@types/loot-core/client/state-types/user.d.ts +13 -0
  18. package/@types/loot-core/mocks/budget.d.ts +2 -0
  19. package/@types/loot-core/mocks/index.d.ts +26 -0
  20. package/@types/loot-core/mocks/random.d.ts +1 -0
  21. package/@types/loot-core/mocks/util.d.ts +7 -0
  22. package/@types/loot-core/platform/client/fetch/index.d.ts +48 -0
  23. package/@types/loot-core/platform/client/undo/index.d.ts +29 -0
  24. package/@types/loot-core/platform/exceptions/index.d.ts +5 -0
  25. package/@types/loot-core/platform/server/asyncStorage/index.d.ts +20 -0
  26. package/@types/loot-core/platform/server/connection/index.d.ts +23 -0
  27. package/@types/loot-core/platform/server/fetch/index.d.ts +4 -0
  28. package/@types/loot-core/platform/server/fs/index.d.ts +71 -0
  29. package/@types/loot-core/platform/server/fs/path-join.d.ts +2 -0
  30. package/@types/loot-core/platform/server/indexeddb/index.d.ts +24 -0
  31. package/@types/loot-core/platform/server/log/index.d.ts +9 -0
  32. package/@types/loot-core/platform/server/sqlite/index.d.ts +35 -0
  33. package/@types/loot-core/server/accounts/export-to-csv.d.ts +2 -0
  34. package/@types/loot-core/server/accounts/link.d.ts +1 -0
  35. package/@types/loot-core/server/accounts/ofx2json.d.ts +14 -0
  36. package/@types/loot-core/server/accounts/parse-file.d.ts +15 -0
  37. package/@types/loot-core/server/accounts/payees.d.ts +5 -0
  38. package/@types/loot-core/server/accounts/qif2json.d.ts +26 -0
  39. package/@types/loot-core/server/accounts/rules.d.ts +90 -0
  40. package/@types/loot-core/server/accounts/sync.d.ts +13 -0
  41. package/@types/loot-core/server/accounts/title/index.d.ts +3 -0
  42. package/@types/loot-core/server/accounts/title/lower-case.d.ts +1 -0
  43. package/@types/loot-core/server/accounts/title/specials.d.ts +1 -0
  44. package/@types/loot-core/server/accounts/transaction-rules.d.ts +47 -0
  45. package/@types/loot-core/server/accounts/transactions.d.ts +33 -0
  46. package/@types/loot-core/server/accounts/transfer.d.ts +37 -0
  47. package/@types/loot-core/server/accounts/xmlcamt2json.d.ts +10 -0
  48. package/@types/loot-core/server/api-models.d.ts +66 -0
  49. package/@types/loot-core/server/api.d.ts +3 -0
  50. package/@types/loot-core/server/app.d.ts +14 -0
  51. package/@types/loot-core/server/aql/compiler.d.ts +56 -0
  52. package/@types/loot-core/server/aql/exec.d.ts +9 -0
  53. package/@types/loot-core/server/aql/index.d.ts +5 -0
  54. package/@types/loot-core/server/aql/schema/executors.d.ts +6 -0
  55. package/@types/loot-core/server/aql/schema/index.d.ts +340 -0
  56. package/@types/loot-core/server/aql/schema/run-query.d.ts +6 -0
  57. package/@types/loot-core/server/aql/schema-helpers.d.ts +8 -0
  58. package/@types/loot-core/server/aql/views.d.ts +1 -0
  59. package/@types/loot-core/server/backups.d.ts +16 -0
  60. package/@types/loot-core/server/backups.test.d.ts +1 -0
  61. package/@types/loot-core/server/budget/actions.d.ts +63 -0
  62. package/@types/loot-core/server/budget/app.d.ts +12 -0
  63. package/@types/loot-core/server/budget/base.d.ts +17 -0
  64. package/@types/loot-core/server/budget/cleanup-template.d.ts +4 -0
  65. package/@types/loot-core/server/budget/goals/goalsAverage.d.ts +4 -0
  66. package/@types/loot-core/server/budget/goals/goalsBy.d.ts +5 -0
  67. package/@types/loot-core/server/budget/goals/goalsPercentage.d.ts +4 -0
  68. package/@types/loot-core/server/budget/goals/goalsRemainder.d.ts +8 -0
  69. package/@types/loot-core/server/budget/goals/goalsSchedule.d.ts +6 -0
  70. package/@types/loot-core/server/budget/goals/goalsSimple.d.ts +7 -0
  71. package/@types/loot-core/server/budget/goals/goalsSpend.d.ts +4 -0
  72. package/@types/loot-core/server/budget/goals/goalsWeek.d.ts +7 -0
  73. package/@types/loot-core/server/budget/goaltemplates.d.ts +12 -0
  74. package/@types/loot-core/server/budget/report.d.ts +2 -0
  75. package/@types/loot-core/server/budget/rollover.d.ts +4 -0
  76. package/@types/loot-core/server/budget/types/handlers.d.ts +77 -0
  77. package/@types/loot-core/server/budget/util.d.ts +4 -0
  78. package/@types/loot-core/server/cloud-storage.d.ts +33 -0
  79. package/@types/loot-core/server/db/index.d.ts +60 -0
  80. package/@types/loot-core/server/db/mappings.d.ts +3 -0
  81. package/@types/loot-core/server/db/sort.d.ts +11 -0
  82. package/@types/loot-core/server/db/util.d.ts +2 -0
  83. package/@types/loot-core/server/encryption-internals.d.ts +24 -0
  84. package/@types/loot-core/server/encryption-internals.web.d.ts +24 -0
  85. package/@types/loot-core/server/encryption.d.ts +41 -0
  86. package/@types/loot-core/server/encryption.test.d.ts +1 -0
  87. package/@types/loot-core/server/errors.d.ts +73 -0
  88. package/@types/loot-core/server/filters/app.d.ts +12 -0
  89. package/@types/loot-core/server/filters/types/handlers.d.ts +7 -0
  90. package/@types/loot-core/server/importers/actual.d.ts +4 -0
  91. package/@types/loot-core/server/importers/index.d.ts +6 -0
  92. package/@types/loot-core/server/importers/ynab4-types.d.ts +167 -0
  93. package/@types/loot-core/server/importers/ynab4.d.ts +5 -0
  94. package/@types/loot-core/server/importers/ynab5-types.d.ts +79 -0
  95. package/@types/loot-core/server/importers/ynab5.d.ts +5 -0
  96. package/@types/loot-core/server/main-app.d.ts +12 -0
  97. package/@types/loot-core/server/main.d.ts +28 -0
  98. package/@types/loot-core/server/main.test.d.ts +1 -0
  99. package/@types/loot-core/server/migrate/migrations.d.ts +9 -0
  100. package/@types/loot-core/server/models.d.ts +38 -0
  101. package/@types/loot-core/server/mutators.d.ts +17 -0
  102. package/@types/loot-core/server/notes/app.d.ts +12 -0
  103. package/@types/loot-core/server/notes/types/handlers.d.ts +3 -0
  104. package/@types/loot-core/server/platform.d.ts +3 -0
  105. package/@types/loot-core/server/platform.web.d.ts +3 -0
  106. package/@types/loot-core/server/polyfills.d.ts +0 -0
  107. package/@types/loot-core/server/post.d.ts +3 -0
  108. package/@types/loot-core/server/prefs.d.ts +10 -0
  109. package/@types/loot-core/server/reports/app.d.ts +12 -0
  110. package/@types/loot-core/server/reports/types/handlers.d.ts +6 -0
  111. package/@types/loot-core/server/rules/app.d.ts +12 -0
  112. package/@types/loot-core/server/rules/types/handlers.d.ts +42 -0
  113. package/@types/loot-core/server/schedules/app.d.ts +35 -0
  114. package/@types/loot-core/server/schedules/find-schedules.d.ts +1 -0
  115. package/@types/loot-core/server/schedules/types/handlers.d.ts +31 -0
  116. package/@types/loot-core/server/server-config.d.ts +10 -0
  117. package/@types/loot-core/server/sheet.d.ts +11 -0
  118. package/@types/loot-core/server/sheet.test.d.ts +1 -0
  119. package/@types/loot-core/server/spreadsheet/globals.d.ts +1 -0
  120. package/@types/loot-core/server/spreadsheet/graph-data-structure.d.ts +15 -0
  121. package/@types/loot-core/server/spreadsheet/spreadsheet.d.ts +79 -0
  122. package/@types/loot-core/server/spreadsheet/util.d.ts +5 -0
  123. package/@types/loot-core/server/sync/encoder.d.ts +9 -0
  124. package/@types/loot-core/server/sync/index.d.ts +47 -0
  125. package/@types/loot-core/server/sync/make-test-message.d.ts +10 -0
  126. package/@types/loot-core/server/sync/migrate.d.ts +2 -0
  127. package/@types/loot-core/server/sync/repair.d.ts +6 -0
  128. package/@types/loot-core/server/sync/reset.d.ts +6 -0
  129. package/@types/loot-core/server/sync/utils.d.ts +3 -0
  130. package/@types/loot-core/server/tools/app.d.ts +12 -0
  131. package/@types/loot-core/server/tools/types/handlers.d.ts +7 -0
  132. package/@types/loot-core/server/undo.d.ts +14 -0
  133. package/@types/loot-core/server/update.d.ts +1 -0
  134. package/@types/loot-core/server/util/budget-name.d.ts +2 -0
  135. package/@types/loot-core/server/util/rschedule.d.ts +5 -0
  136. package/@types/loot-core/shared/async.d.ts +3 -0
  137. package/@types/loot-core/shared/environment.d.ts +4 -0
  138. package/@types/loot-core/shared/errors.d.ts +22 -0
  139. package/@types/loot-core/shared/months.d.ts +62 -0
  140. package/@types/loot-core/shared/query.d.ts +31 -0
  141. package/@types/loot-core/shared/rules.d.ts +62 -0
  142. package/@types/loot-core/shared/schedules.d.ts +43 -0
  143. package/@types/loot-core/shared/transactions.d.ts +91 -0
  144. package/@types/loot-core/shared/util.d.ts +67 -0
  145. package/@types/loot-core/types/api-handlers.d.ts +158 -0
  146. package/@types/loot-core/types/budget.d.ts +7 -0
  147. package/@types/loot-core/types/file.d.ts +38 -0
  148. package/@types/loot-core/types/handlers.d.ts +23 -0
  149. package/@types/loot-core/types/models/account.d.ts +21 -0
  150. package/@types/loot-core/types/models/category-group.d.ts +11 -0
  151. package/@types/loot-core/types/models/category.d.ts +9 -0
  152. package/@types/loot-core/types/models/gocardless.d.ts +14 -0
  153. package/@types/loot-core/types/models/index.d.ts +12 -0
  154. package/@types/loot-core/types/models/note.d.ts +4 -0
  155. package/@types/loot-core/types/models/payee.d.ts +10 -0
  156. package/@types/loot-core/types/models/reports.d.ts +123 -0
  157. package/@types/loot-core/types/models/rule.d.ts +71 -0
  158. package/@types/loot-core/types/models/schedule.d.ts +58 -0
  159. package/@types/loot-core/types/models/simplefin.d.ts +10 -0
  160. package/@types/loot-core/types/models/transaction-filter.d.ts +7 -0
  161. package/@types/loot-core/types/models/transaction.d.ts +40 -0
  162. package/@types/loot-core/types/prefs.d.ts +69 -0
  163. package/@types/loot-core/types/server-events.d.ts +21 -0
  164. package/@types/loot-core/types/server-handlers.d.ts +344 -0
  165. package/@types/loot-core/types/util.d.ts +5 -0
  166. package/@types/methods.d.ts +85 -0
  167. package/@types/methods.test.d.ts +1 -0
  168. package/@types/migrations/1632571489012_remove_cache.d.ts +1 -0
  169. package/@types/utils.d.ts +2 -0
  170. package/@types/validateNodeVersion.d.ts +1 -0
  171. package/dist/app/bundle.api.js +1649 -6538
  172. package/dist/methods.js +25 -1
  173. package/dist/methods.test.js +205 -5
  174. package/dist/migrations/1712784523000_unhide_input_group.sql +8 -0
  175. package/dist/package.json +7 -5
  176. package/package.json +7 -5
@@ -0,0 +1,344 @@
1
+ import { ParseFileResult } from '../server/accounts/parse-file';
2
+ import { batchUpdateTransactions } from '../server/accounts/transactions';
3
+ import { Backup } from '../server/backups';
4
+ import { RemoteFile } from '../server/cloud-storage';
5
+ import { Node as SpreadsheetNode } from '../server/spreadsheet/spreadsheet';
6
+ import { Message } from '../server/sync';
7
+ import { QueryState } from '../shared/query';
8
+
9
+ import { Budget } from './budget';
10
+ import {
11
+ AccountEntity,
12
+ CategoryEntity,
13
+ CategoryGroupEntity,
14
+ GoCardlessToken,
15
+ GoCardlessInstitution,
16
+ SimpleFinAccount,
17
+ RuleEntity,
18
+ PayeeEntity,
19
+ } from './models';
20
+ import { GlobalPrefs, LocalPrefs } from './prefs';
21
+ import { EmptyObject } from './util';
22
+
23
+ export interface ServerHandlers {
24
+ 'transaction-update': (transaction: { id: string }) => Promise<EmptyObject>;
25
+
26
+ undo: () => Promise<void>;
27
+
28
+ redo: () => Promise<void>;
29
+
30
+ 'transactions-batch-update': (
31
+ arg: Omit<
32
+ Parameters<typeof batchUpdateTransactions>[0],
33
+ 'detectOrphanPayees'
34
+ >,
35
+ ) => Promise<Awaited<ReturnType<typeof batchUpdateTransactions>>['updated']>;
36
+
37
+ 'transaction-add': (transaction) => Promise<EmptyObject>;
38
+
39
+ 'transaction-delete': (transaction) => Promise<EmptyObject>;
40
+
41
+ 'transactions-parse-file': (arg: {
42
+ filepath: string;
43
+ options;
44
+ }) => Promise<ParseFileResult>;
45
+
46
+ 'transactions-export': (arg: {
47
+ transactions;
48
+ accounts?;
49
+ categoryGroups;
50
+ payees;
51
+ }) => Promise<unknown>;
52
+
53
+ 'transactions-export-query': (arg: { query: QueryState }) => Promise<unknown>;
54
+
55
+ 'get-categories': () => Promise<{
56
+ grouped: Array<CategoryGroupEntity>;
57
+ list: Array<CategoryEntity>;
58
+ }>;
59
+
60
+ 'get-earliest-transaction': () => Promise<{ date: string }>;
61
+
62
+ 'get-budget-bounds': () => Promise<{ start: string; end: string }>;
63
+
64
+ 'rollover-budget-month': (arg: { month }) => Promise<
65
+ {
66
+ value: string | number | boolean;
67
+ name: string;
68
+ }[]
69
+ >;
70
+
71
+ 'report-budget-month': (arg: { month }) => Promise<
72
+ {
73
+ value: string | number | boolean;
74
+ name: string;
75
+ }[]
76
+ >;
77
+
78
+ 'budget-set-type': (arg: { type }) => Promise<unknown>;
79
+
80
+ 'category-create': (arg: {
81
+ name;
82
+ groupId;
83
+ isIncome?;
84
+ hidden?: boolean;
85
+ }) => Promise<string>;
86
+
87
+ 'category-update': (category) => Promise<unknown>;
88
+
89
+ 'category-move': (arg: { id; groupId; targetId }) => Promise<unknown>;
90
+
91
+ 'category-delete': (arg: { id; transferId? }) => Promise<{ error?: string }>;
92
+
93
+ 'category-group-create': (arg: {
94
+ name;
95
+ isIncome?: boolean;
96
+ }) => Promise<string>;
97
+
98
+ 'category-group-update': (group) => Promise<unknown>;
99
+
100
+ 'category-group-move': (arg: { id; targetId }) => Promise<unknown>;
101
+
102
+ 'category-group-delete': (arg: { id; transferId }) => Promise<unknown>;
103
+
104
+ 'must-category-transfer': (arg: { id }) => Promise<unknown>;
105
+
106
+ 'payee-create': (arg: { name }) => Promise<string>;
107
+
108
+ 'payees-get': () => Promise<PayeeEntity[]>;
109
+
110
+ 'payees-get-rule-counts': () => Promise<unknown>;
111
+
112
+ 'payees-merge': (arg: { targetId; mergeIds }) => Promise<unknown>;
113
+
114
+ 'payees-batch-change': (arg: {
115
+ added?;
116
+ deleted?;
117
+ updated?;
118
+ }) => Promise<unknown>;
119
+
120
+ 'payees-check-orphaned': (arg: { ids }) => Promise<unknown>;
121
+
122
+ 'payees-get-rules': (arg: { id: string }) => Promise<RuleEntity[]>;
123
+
124
+ 'make-filters-from-conditions': (arg: {
125
+ conditions;
126
+ }) => Promise<{ filters: unknown[] }>;
127
+
128
+ getCell: (arg: {
129
+ sheetName;
130
+ name;
131
+ }) => Promise<SpreadsheetNode | { value?: SpreadsheetNode['value'] }>;
132
+
133
+ getCells: (arg: { names }) => Promise<unknown>;
134
+
135
+ getCellNamesInSheet: (arg: { sheetName }) => Promise<unknown>;
136
+
137
+ debugCell: (arg: { sheetName; name }) => Promise<unknown>;
138
+
139
+ 'create-query': (arg: { sheetName; name; query }) => Promise<unknown>;
140
+
141
+ query: (query) => Promise<{ data; dependencies }>;
142
+
143
+ 'account-update': (arg: { id; name }) => Promise<unknown>;
144
+
145
+ 'accounts-get': () => Promise<AccountEntity[]>;
146
+
147
+ 'account-properties': (arg: {
148
+ id;
149
+ }) => Promise<{ balance: number; numTransactions: number }>;
150
+
151
+ 'gocardless-accounts-link': (arg: {
152
+ requisitionId;
153
+ account;
154
+ upgradingId;
155
+ offBudget;
156
+ }) => Promise<'ok'>;
157
+
158
+ 'simplefin-accounts-link': (arg: {
159
+ externalAccount;
160
+ upgradingId;
161
+ offBudget;
162
+ }) => Promise<'ok'>;
163
+
164
+ 'account-create': (arg: {
165
+ name: string;
166
+ balance?: number;
167
+ offBudget?: boolean;
168
+ closed?: 0 | 1;
169
+ }) => Promise<string>;
170
+
171
+ 'account-close': (arg: {
172
+ id;
173
+ transferAccountId?;
174
+ categoryId?;
175
+ forced?;
176
+ }) => Promise<unknown>;
177
+
178
+ 'account-reopen': (arg: { id }) => Promise<unknown>;
179
+
180
+ 'account-move': (arg: { id; targetId }) => Promise<unknown>;
181
+
182
+ 'secret-set': (arg: { name: string; value: string }) => Promise<null>;
183
+ 'secret-check': (arg: string) => Promise<string | { error?: string }>;
184
+
185
+ 'gocardless-poll-web-token': (arg: {
186
+ upgradingAccountId?: string;
187
+ requisitionId: string;
188
+ }) => Promise<
189
+ { error: 'unknown' } | { error: 'timeout' } | { data: GoCardlessToken }
190
+ >;
191
+
192
+ 'gocardless-status': () => Promise<{ configured: boolean }>;
193
+
194
+ 'simplefin-status': () => Promise<{ configured: boolean }>;
195
+
196
+ 'simplefin-accounts': () => Promise<{ accounts: SimpleFinAccount[] }>;
197
+
198
+ 'gocardless-get-banks': (country: string) => Promise<{
199
+ data: GoCardlessInstitution[];
200
+ error?: { reason: string };
201
+ }>;
202
+
203
+ 'gocardless-poll-web-token-stop': () => Promise<'ok'>;
204
+
205
+ 'gocardless-create-web-token': (arg: {
206
+ upgradingAccountId?: string;
207
+ institutionId: string;
208
+ accessValidForDays: number;
209
+ }) => Promise<
210
+ | {
211
+ requisitionId: string;
212
+ link: string;
213
+ }
214
+ | { error: 'unauthorized' }
215
+ | { error: 'failed' }
216
+ >;
217
+
218
+ 'accounts-bank-sync': (arg: { id?: string }) => Promise<{
219
+ errors;
220
+ newTransactions;
221
+ matchedTransactions;
222
+ updatedAccounts;
223
+ }>;
224
+
225
+ 'transactions-import': (arg: { accountId; transactions }) => Promise<{
226
+ errors?: { message: string }[];
227
+ added;
228
+ updated;
229
+ }>;
230
+
231
+ 'account-unlink': (arg: { id }) => Promise<'ok'>;
232
+
233
+ 'save-global-prefs': (prefs) => Promise<'ok'>;
234
+
235
+ 'load-global-prefs': () => Promise<GlobalPrefs>;
236
+
237
+ 'save-prefs': (prefsToSet) => Promise<'ok'>;
238
+
239
+ 'load-prefs': () => Promise<LocalPrefs | null>;
240
+
241
+ 'sync-reset': () => Promise<{ error?: { reason: string; meta?: unknown } }>;
242
+
243
+ 'sync-repair': () => Promise<unknown>;
244
+
245
+ 'key-make': (arg: {
246
+ password;
247
+ }) => Promise<{ error?: { reason: string; meta?: unknown } }>;
248
+
249
+ 'key-test': (arg: {
250
+ fileId;
251
+ password;
252
+ }) => Promise<{ error?: { reason: string } }>;
253
+
254
+ 'get-did-bootstrap': () => Promise<boolean>;
255
+
256
+ 'subscribe-needs-bootstrap': (args: {
257
+ url;
258
+ }) => Promise<
259
+ { error: string } | { bootstrapped: unknown; hasServer: boolean }
260
+ >;
261
+
262
+ 'subscribe-bootstrap': (arg: { password }) => Promise<{ error?: string }>;
263
+
264
+ 'subscribe-get-user': () => Promise<{ offline: boolean } | null>;
265
+
266
+ 'subscribe-change-password': (arg: {
267
+ password;
268
+ }) => Promise<{ error?: string }>;
269
+
270
+ 'subscribe-sign-in': (arg: {
271
+ password;
272
+ loginMethod?: string;
273
+ }) => Promise<{ error?: string }>;
274
+
275
+ 'subscribe-sign-out': () => Promise<'ok'>;
276
+
277
+ 'get-server-version': () => Promise<{ error?: string } | { version: string }>;
278
+
279
+ 'get-server-url': () => Promise<string | null>;
280
+
281
+ 'set-server-url': (arg: {
282
+ url: string;
283
+ validate?: boolean;
284
+ }) => Promise<{ error?: string }>;
285
+
286
+ sync: () => Promise<
287
+ | { error: { message: string; reason: string; meta: unknown } }
288
+ | { messages: Message[] }
289
+ >;
290
+
291
+ 'get-budgets': () => Promise<Budget[]>;
292
+
293
+ 'get-remote-files': () => Promise<RemoteFile[]>;
294
+
295
+ 'reset-budget-cache': () => Promise<unknown>;
296
+
297
+ 'upload-budget': (arg: { id }) => Promise<{ error?: string }>;
298
+
299
+ 'download-budget': (arg: { fileId; replace? }) => Promise<{ error; id }>;
300
+
301
+ 'sync-budget': () => Promise<{
302
+ error?: { message: string; reason: string; meta: unknown };
303
+ }>;
304
+
305
+ 'load-budget': (arg: { id: string }) => Promise<{ error }>;
306
+
307
+ 'create-demo-budget': () => Promise<unknown>;
308
+
309
+ 'close-budget': () => Promise<'ok'>;
310
+
311
+ 'delete-budget': (arg: {
312
+ id?: string;
313
+ cloudFileId?: string;
314
+ }) => Promise<'ok'>;
315
+
316
+ 'create-budget': (arg: {
317
+ budgetName?;
318
+ avoidUpload?;
319
+ testMode?: boolean;
320
+ testBudgetId?;
321
+ }) => Promise<unknown>;
322
+
323
+ 'import-budget': (arg: {
324
+ filepath: string;
325
+ type: 'ynab4' | 'ynab5' | 'actual';
326
+ }) => Promise<{ error?: string }>;
327
+
328
+ 'export-budget': () => Promise<{ data: Buffer } | { error: string }>;
329
+
330
+ 'upload-file-web': (arg: {
331
+ filename: string;
332
+ contents: ArrayBuffer;
333
+ }) => Promise<EmptyObject | null>;
334
+
335
+ 'backups-get': (arg: { id: string }) => Promise<Backup[]>;
336
+
337
+ 'backup-load': (arg: { id: string; backupId: string }) => Promise<void>;
338
+
339
+ 'backup-make': (arg: { id: string }) => Promise<void>;
340
+
341
+ 'get-last-opened-backup': () => Promise<string | null>;
342
+
343
+ 'app-focused': () => Promise<void>;
344
+ }
@@ -0,0 +1,5 @@
1
+ export type EmptyObject = Record<never, never>;
2
+
3
+ export type StripNever<T> = {
4
+ [K in keyof T as T[K] extends never ? never : K]: T[K];
5
+ };
@@ -0,0 +1,85 @@
1
+ export { q } from './app/query';
2
+ export declare function runImport(name: any, func: any): Promise<void>;
3
+ export declare function loadBudget(budgetId: any): Promise<void>;
4
+ export declare function downloadBudget(syncId: any, { password }?: {
5
+ password?: any;
6
+ }): Promise<void>;
7
+ export declare function sync(): Promise<void>;
8
+ export declare function runBankSync(args?: {
9
+ accountId: string;
10
+ }): Promise<void>;
11
+ export declare function batchBudgetUpdates(func: any): Promise<void>;
12
+ export declare function runQuery(query: any): Promise<unknown>;
13
+ export declare function getBudgetMonths(): Promise<string[]>;
14
+ export declare function getBudgetMonth(month: any): Promise<{
15
+ month: string;
16
+ incomeAvailable: number;
17
+ lastMonthOverspent: number;
18
+ forNextMonth: number;
19
+ totalBudgeted: number;
20
+ toBudget: number;
21
+ fromLastMonth: number;
22
+ totalIncome: number;
23
+ totalSpent: number;
24
+ totalBalance: number;
25
+ categoryGroups: Record<string, unknown>[];
26
+ }>;
27
+ export declare function setBudgetAmount(month: any, categoryId: any, value: any): Promise<void>;
28
+ export declare function setBudgetCarryover(month: any, categoryId: any, flag: any): Promise<void>;
29
+ export declare function addTransactions(accountId: any, transactions: any, { learnCategories, runTransfers }?: {
30
+ learnCategories?: boolean;
31
+ runTransfers?: boolean;
32
+ }): Promise<"ok">;
33
+ export declare function importTransactions(accountId: any, transactions: any): Promise<{
34
+ errors?: {
35
+ message: string;
36
+ }[];
37
+ added: any;
38
+ updated: any;
39
+ }>;
40
+ export declare function getTransactions(accountId: any, startDate: any, endDate: any): Promise<import("./loot-core/types/models").TransactionEntity[]>;
41
+ export declare function updateTransaction(id: any, fields: any): Promise<import("./loot-core/types/models").TransactionEntity[] | ({
42
+ id: any;
43
+ transfer_id: any;
44
+ } | {
45
+ id: any;
46
+ payee: any;
47
+ } | {
48
+ id: any;
49
+ category: any;
50
+ })[]>;
51
+ export declare function deleteTransaction(id: any): Promise<import("./loot-core/types/models").TransactionEntity[] | ({
52
+ id: any;
53
+ transfer_id: any;
54
+ } | {
55
+ id: any;
56
+ payee: any;
57
+ } | {
58
+ id: any;
59
+ category: any;
60
+ })[]>;
61
+ export declare function getAccounts(): Promise<import("./loot-core/server/api-models").APIAccountEntity[]>;
62
+ export declare function createAccount(account: any, initialBalance?: any): Promise<string>;
63
+ export declare function updateAccount(id: any, fields: any): Promise<void>;
64
+ export declare function closeAccount(id: any, transferAccountId?: any, transferCategoryId?: any): Promise<unknown>;
65
+ export declare function reopenAccount(id: any): Promise<unknown>;
66
+ export declare function deleteAccount(id: any): Promise<unknown>;
67
+ export declare function getCategoryGroups(): Promise<import("./loot-core/server/api-models").APICategoryGroupEntity[]>;
68
+ export declare function createCategoryGroup(group: any): Promise<string>;
69
+ export declare function updateCategoryGroup(id: any, fields: any): Promise<unknown>;
70
+ export declare function deleteCategoryGroup(id: any, transferCategoryId?: any): Promise<unknown>;
71
+ export declare function getCategories(): Promise<(import("./loot-core/server/api-models").APICategoryGroupEntity | import("./loot-core/server/api-models").APICategoryEntity)[]>;
72
+ export declare function createCategory(category: any): Promise<string>;
73
+ export declare function updateCategory(id: any, fields: any): Promise<unknown>;
74
+ export declare function deleteCategory(id: any, transferCategoryId?: any): Promise<{
75
+ error?: string;
76
+ }>;
77
+ export declare function getPayees(): Promise<import("./loot-core/server/api-models").APIPayeeEntity[]>;
78
+ export declare function createPayee(payee: any): Promise<string>;
79
+ export declare function updatePayee(id: any, fields: any): Promise<unknown>;
80
+ export declare function deletePayee(id: any): Promise<unknown>;
81
+ export declare function getRules(): Promise<import("./loot-core/types/models").RuleEntity[]>;
82
+ export declare function getPayeeRules(id: any): Promise<import("./loot-core/types/models").RuleEntity[]>;
83
+ export declare function createRule(rule: any): Promise<import("./loot-core/types/models").RuleEntity>;
84
+ export declare function updateRule(rule: any): Promise<import("./loot-core/types/models").RuleEntity>;
85
+ export declare function deleteRule(id: any): Promise<boolean>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export default function runMigration(db: any): Promise<void>;
@@ -0,0 +1,2 @@
1
+ export function amountToInteger(n: any): number;
2
+ export function integerToAmount(n: any): number;
@@ -0,0 +1 @@
1
+ export function validateNodeVersion(): void;