import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { Observable } from 'rxjs'; import { AccountBankModel } from '../model/account'; import { AccountListBankModel } from '../model/accountList'; import { PostAccountBankModel } from '../model/postAccount'; import { Configuration } from '../configuration'; import * as i0 from "@angular/core"; export declare class AccountsService { protected httpClient: HttpClient; protected basePath: string; defaultHeaders: HttpHeaders; configuration: Configuration; encoder: HttpParameterCodec; constructor(httpClient: HttpClient, basePath: string, configuration: Configuration); private addToHttpParams; private addToHttpParamsRecursive; /** * Create Account * Creates an account. ## Account Type An Account is tied to a specific cryptocurrency or fiat and is comprised of transactions and a current balance. An account is required to allow a Bank or Customer to hold cryptocurrency or a Customer to hold fiat on the Cybrid Platform. At present, accounts can be created as `trading`, `storage` or `fiat ` accounts and are required before a Customer can generate quotes or execute a `trade` or `transfer`. 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. At the bank level, `invoice_operations` accounts can be configured to pre-fund your customers\' Lightning Network operations. ## Asset The asset is the specific cryptocurrency or fiat that the account holds, e.g., \'BTC\' for Bitcoin or `USD` for US dollars. See the Symbols API for a complete list of cryptocurrencies and fiat supported. ## State | State | Description | |-------|-------------| | storing | The Platform is storing the account details in our private store | | created | The Platform has created the account | Required scope: **accounts:execute** * @param postAccountBankModel * @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. */ createAccount(postAccountBankModel: PostAccountBankModel, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; createAccount(postAccountBankModel: PostAccountBankModel, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; createAccount(postAccountBankModel: PostAccountBankModel, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; /** * Get Account * Retrieves an account. Required scope: **accounts:read** * @param accountGuid Identifier for the 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. */ getAccount(accountGuid: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; getAccount(accountGuid: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; getAccount(accountGuid: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; /** * List Accounts * Retrieves a list of accounts. Records are sorted by creation date in descending order. Required scope: **accounts:read** * @param page The page index to retrieve. * @param perPage The number of entities per page to return. * @param owner The owner of the entity. * @param guid Comma separated account_guids to list accounts for. * @param type Comma separated account_types to list accounts for. * @param bankGuid Comma separated bank_guids to list accounts for. * @param customerGuid Comma separated customer_guids to list accounts for. * @param label Comma separated labels to list accounts for. * @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. */ listAccounts(page?: string, perPage?: string, owner?: string, guid?: string, type?: string, bankGuid?: string, customerGuid?: string, label?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable; listAccounts(page?: string, perPage?: string, owner?: string, guid?: string, type?: string, bankGuid?: string, customerGuid?: string, label?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; listAccounts(page?: string, perPage?: string, owner?: string, guid?: string, type?: string, bankGuid?: string, customerGuid?: string, label?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; }): Observable>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }