import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { Observable } from 'rxjs'; import { ExternalBankAccountBankModel } from '../model/externalBankAccount'; import { ExternalBankAccountListBankModel } from '../model/externalBankAccountList'; import { PatchExternalBankAccountBankModel } from '../model/patchExternalBankAccount'; import { PostExternalBankAccountBankModel } from '../model/postExternalBankAccount'; import { Configuration } from '../configuration'; import * as i0 from "@angular/core"; export declare class ExternalBankAccountsService { protected httpClient: HttpClient; protected basePath: string; defaultHeaders: HttpHeaders; configuration: Configuration; encoder: HttpParameterCodec; constructor(httpClient: HttpClient, basePath: string, configuration: Configuration); private addToHttpParams; private addToHttpParamsRecursive; /** * Create ExternalBankAccount * Create an ExternalBankAccount. ## Account creation Accounts can be created for a Bank or a Customer. To create accounts for your Bank, omit the `customer_guid` parameter in the request body. To create accounts for your Customers, include the `customer_guid` parameter in the request body. ## State | State | Description | |-------|-------------| | storing | The Platform is storing the external bank account details in our private store | | completed | The Platform has created the external bank account | | unverified | The external bank account is created, but it has not yet been verified | | failed | The Platform was not able to successfully create the external bank account | | refresh_required | The Platform has created the external bank account, but needs to be refreshed | | deleting | The Platform is deleting the external bank account | | deleted | The Platform has deleted the external bank account | ## Failure codes | Code | Description | |------|-------------| | invalid_routing_number | The provided routing number is invalid | | invalid_account_number | The account number is invalid | | invalid_account_type | The account type is invalid | | duplicate | An account with the same details already exists | | plaid_processor_token | An account could not be created due to an invalid Plaid processor token or an error with Plaid | | plaid_multiple_accounts | The supplied Plaid token is associated with multiple accounts. Must only be a single account. | | create_failed | The bank account and associated holder could not be created correctly | | unverified_counterparty | The counterparty account is unverified | Required scope: **external_bank_accounts:execute** * @param postExternalBankAccountBankModel * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ createExternalBankAccount(postExternalBankAccountBankModel: PostExternalBankAccountBankModel, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; createExternalBankAccount(postExternalBankAccountBankModel: PostExternalBankAccountBankModel, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; createExternalBankAccount(postExternalBankAccountBankModel: PostExternalBankAccountBankModel, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; /** * Delete External Bank Account * Deletes an external bank account. Required scope: **external_bank_accounts:execute** * @param externalBankAccountGuid Identifier for the external bank account. * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ deleteExternalBankAccount(externalBankAccountGuid: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; deleteExternalBankAccount(externalBankAccountGuid: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; deleteExternalBankAccount(externalBankAccountGuid: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; /** * Get External Bank Account * Retrieves an external bank account. ## ExternalBankAccount retrieval When retrieving an external bank account and include_balances is set to true, the Platform will attempt to retrieve the balance from the account\'s financial institution. If force_balance_refresh is set to true, the Platform will always attempt to retrieve the most up to date balance from the account\'s financial institution. If force_balance_refresh is set to false, the Platform will return the cached balance. If while getting the balance the Platform determines that the account needs to be refreshed, the Platform will return a 422 status code with the message \"Bank account refresh required\" and the ExternalBankAccount will be put into the refresh_required state. If while getting the balance the Platform determines that the account is no longer valid, the Platform will return a 422 status code with the message \"Bank account can no longer be used and is being deleted. It must be re-added\" and the ExternalBankAccount will be deleted. When retrieving an external bank account and include_pii is set to true, the Platform will include the account holder\'s information in the response. Required scope: **external_bank_accounts:read** Optional scope: **external_bank_accounts:pii:read**. * @param externalBankAccountGuid Identifier for the external bank account. * @param forceBalanceRefresh Force the balance on the account to be retrieved. * @param includeBalances Include balance information in the response. If `force_balance_refresh` is `true`, the most up to date balance will be returned. If `force_balance_refresh` is `false`, the cached balance will be returned. `balance_updated_at` in the response will provide the timestamp the balance was last updated. * @param includePii Include the account holder\'s PII in the response (requires **external_bank_accounts:pii:read** scope). * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ getExternalBankAccount(externalBankAccountGuid: string, forceBalanceRefresh?: boolean, includeBalances?: boolean, includePii?: boolean, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; getExternalBankAccount(externalBankAccountGuid: string, forceBalanceRefresh?: boolean, includeBalances?: boolean, includePii?: boolean, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; getExternalBankAccount(externalBankAccountGuid: string, forceBalanceRefresh?: boolean, includeBalances?: boolean, includePii?: boolean, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; /** * Get external bank accounts list * Retrieves a listing of external bank accounts. Records are sorted by creation date in descending order. Required scope: **external_bank_accounts:read** * @param page The page index to retrieve. * @param perPage The number of entities per page to return. * @param guid Comma separated external_bank_account_guids to list external_bank_accounts for. * @param bankGuid Comma separated bank_guids to list external_bank_accounts for. * @param customerGuid Comma separated customer_guids to list external_bank_accounts for. * @param counterpartyGuid Comma separated counterparty_guids to list external_bank_accounts for. * @param asset Comma separated assets to list external_bank_accounts for. * @param state Comma separated states to list external_bank_accounts for. Filtering by \"completed\" and \"unverified\" states is only supported for individual customer accounts. * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ listExternalBankAccounts(page?: string, perPage?: string, guid?: string, bankGuid?: string, customerGuid?: string, counterpartyGuid?: string, asset?: string, state?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; listExternalBankAccounts(page?: string, perPage?: string, guid?: string, bankGuid?: string, customerGuid?: string, counterpartyGuid?: string, asset?: string, state?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; listExternalBankAccounts(page?: string, perPage?: string, guid?: string, bankGuid?: string, customerGuid?: string, counterpartyGuid?: string, asset?: string, state?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; /** * Patch ExternalBankAccount * Patch an external bank account. Required scope: **external_bank_accounts:write** * @param externalBankAccountGuid Identifier for the external bank account. * @param patchExternalBankAccountBankModel * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ patchExternalBankAccount(externalBankAccountGuid: string, patchExternalBankAccountBankModel: PatchExternalBankAccountBankModel, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; patchExternalBankAccount(externalBankAccountGuid: string, patchExternalBankAccountBankModel: PatchExternalBankAccountBankModel, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; patchExternalBankAccount(externalBankAccountGuid: string, patchExternalBankAccountBankModel: PatchExternalBankAccountBankModel, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }