import { TransactionData, UpdateTransactionData } from './types.js'; import { APIAccountEntity, APICategoryEntity, APICategoryGroupEntity, APIPayeeEntity } from '@actual-app/api/@types/loot-core/src/server/api-models.js'; import { RuleEntity, TransactionEntity } from '@actual-app/api/@types/loot-core/src/types/models/index.js'; import { ImportTransactionEntity } from '@actual-app/api/@types/loot-core/src/types/models/import-transaction.js'; /** * Initialize the Actual Budget API */ export declare function initActualApi(): Promise; /** * Shutdown the Actual Budget API */ export declare function shutdownActualApi(): Promise; /** * Get all accounts (ensures API is initialized) */ export declare function getAccounts(): Promise; /** * Get all categories (ensures API is initialized) */ export declare function getCategories(): Promise<(APICategoryEntity | APICategoryGroupEntity)[]>; /** * Get all category groups (ensures API is initialized) */ export declare function getCategoryGroups(): Promise; /** * Get all payees (ensures API is initialized) */ export declare function getPayees(): Promise; /** * Get transactions for a specific account and date range (ensures API is initialized) */ export declare function getTransactions(accountId: string, start: string, end: string): Promise; /** * Get all rules (ensures API is initialized) */ export declare function getRules(): Promise; /** * Create a new payee (ensures API is initialized) */ export declare function createPayee(args: Record): Promise; /** * Update a payee (ensures API is initialized) */ export declare function updatePayee(id: string, args: Record): Promise; /** * Delete a payee (ensures API is initialized) */ export declare function deletePayee(id: string): Promise; /** * Create a new rule (ensures API is initialized) */ export declare function createRule(args: Record): Promise; /** * Update a rule (ensures API is initialized) */ export declare function updateRule(args: Record): Promise; /** * Delete a rule (ensures API is initialized) */ export declare function deleteRule(id: string): Promise; /** * Create a new category (ensures API is initialized) */ export declare function createCategory(args: Record): Promise; /** * Update a category (ensures API is initialized) */ export declare function updateCategory(id: string, args: Record): Promise; /** * Delete a category (ensures API is initialized) */ export declare function deleteCategory(id: string): Promise; /** * Create a new category group (ensures API is initialized) */ export declare function createCategoryGroup(args: Record): Promise; /** * Update a category group (ensures API is initialized) */ export declare function updateCategoryGroup(id: string, args: Record): Promise; /** * Delete a category group (ensures API is initialized) */ export declare function deleteCategoryGroup(id: string): Promise; /** * Create a transaction (ensures API is initialized). * Passes runTransfers so that transfer payees automatically create the counterpart transaction. */ export declare function createTransaction(accountId: string, data: TransactionData): Promise; /** * Import a list of transactions using Actual's reconciliation logic. * Deduplicates via imported_id and optionally supports dry-run validation. */ export declare function importTransactions(accountId: string, transactions: ImportTransactionEntity[], opts?: { defaultCleared?: boolean; dryRun?: boolean; }): Promise<{ added: string[]; updated: string[]; errors: Array<{ message: string; }>; }>; /** * Update a transaction (ensures API is initialized) */ export declare function updateTransaction(id: string, data: UpdateTransactionData): Promise; /** * Delete a transaction (ensures API is initialized) */ export declare function deleteTransaction(id: string): Promise; /** * Run bank sync for accounts (ensures API is initialized) * * @param accountId - Optional. Specific account ID, or special value: * - "onbudget": sync all on-budget linked accounts * - "offbudget": sync all off-budget linked accounts * - undefined: sync ALL linked accounts */ export declare function runBankSync(accountId?: string): Promise; //# sourceMappingURL=actual-api.d.ts.map