import { Client } from '../client'; import { ThBaseHandler } from '../base'; import { UriHelper } from '../uri-helper'; export interface AccountsOptions { user?: string; base?: string; } export declare type AccountType = 'expense' | 'deposit' | 'bank'; export interface AccountsQueryOrOptions { limit?: number; uri?: string; query?: { type?: AccountType; deleted?: boolean; active?: boolean; }; } export interface AccountsResponse { data: Account[]; metadata: Record; next?: () => Promise; } export interface AccountResponse { data?: Account; metadata?: { count?: number; patch?: any; }; msg?: string; } interface AccountsRefType { id?: string; branch: string; branch_number: number; name: string; account: string; } export interface Account { name: string; fa_account_number?: string; type: AccountType; accounts: AccountsRefType[]; } export declare class Accounts extends ThBaseHandler { static baseEndpoint: string; endpoint: string; http: Client; options: AccountsOptions; uriHelper: UriHelper; constructor(options: AccountsOptions, http: Client); getAll(queryOrOptions?: AccountsQueryOrOptions | undefined): Promise; get(accountId: string): Promise; put(accountId: string, account: Account): Promise; create(account: Account): Promise; delete(accountId: string): Promise; } export {};