/** * @module Resources/BankAccounts */ import { AuthParams, SendData } from "../api/RestAPI.js"; import { CRUDItemsResponse, CRUDPaginationParams, CRUDResource } from "./CRUDResource.js"; export declare enum BankAccountStatus { NEW = "new", UNABLE_TO_VERIFY = "unable_to_verify", VERIFIED = "verified", ERRORED = "errored" } export declare enum BankAccountType { CHECKING = "checking", SAVINGS = "savings" } export interface BankAccountsListParams extends CRUDPaginationParams { primary?: boolean; } export interface BankAccountCreateParams { accountNumber: string; country: string; currency: string; holderName: string; bankName: string; branchName?: string; bankAddress?: string; routingNumber?: string; swiftCode?: string; ifscCode?: string; routingCode?: string; accountType: BankAccountType; primary?: boolean; } export type BankAccountUpdateParams = Partial; export interface BankAccountItem { id: string; holderName: string; bankName: string; branchName?: string; country: string; bankAddress?: string; currency: string; routingNumber?: string; swiftCode?: string; ifscCode?: string; routingCode?: string; lastFour: string; status: BankAccountStatus; createdOn: string; primary: boolean; accountNumber: string; accountType: BankAccountType; } export type BankAccountListItem = BankAccountItem; export type ResponseBankAccount = BankAccountItem; export type ResponseBankAccounts = CRUDItemsResponse; export declare class BankAccounts extends CRUDResource { static requiredParams: string[]; static routeBase: string; private _list?; list(data?: SendData, auth?: AuthParams): Promise; private _create?; create(data: SendData, auth?: AuthParams): Promise; private _get?; get(id: string | null, data?: SendData, auth?: AuthParams): Promise; private _update?; update(id: string | null, data?: SendData, auth?: AuthParams): Promise; private _delete?; delete(id: string | null, data?: SendData, auth?: AuthParams): Promise; private _getPrimary?; getPrimary(data?: SendData, auth?: AuthParams): Promise; }