import { Method } from 'axios'; import { Executable } from './executable'; /** * The CreateAccountInput used by the constructor of CreateAccount */ export interface CreateAccountInput { /** * first name on the account. */ firstName?: string; /** * last name on the account. */ lastName?: string; /** * email on the account. */ email?: string; /** * phone number on the account, should start with +{country code} */ phone?: string; /** * any additional metadata attributes required by the account. */ metadata?: { [key: string]: string; }; /** * ledgerType for the account, default is 'hedera' if not provided. */ ledgerType?: string; } /** * The CreateAccount response expected from the execution of the object within BambuClient execute. */ export interface CreateAccountResponse { /** * the message response from the request */ message: string; /** * any error messages that were returned by the request. */ error?: any; /** * If the account already exists, the accountId is returned. */ accountId?: string; /** * If the account already exists, the ledgerId is returned. */ ledgerId?: string; } /** * The create account api is an asyncronous request to BambuMeta to issue the provided user an account. This request * will not guarentee an account is created. But checks if there is already an existing account. If so, the account id is returned. If no account already exists, * the request will be added to the processor for consumption and a success message should be returned. */ export declare class CreateAccount extends Executable { /** * getMethod is used by the BambuClient to properly construct the request call. * @returns request method */ getMethod(): Method; /** * getResponse is used by the BambuClient to propery return the response object type. * @param apiResponse the api response object returned by the BambuMeta client before being converted to the CreateAccountResponse * @returns CreateAccountResponse */ getResponse(apiResponse: any): CreateAccountResponse; /** * getURLPath is used by the BambuClient to properly construct the request call. * @param tenantId the tenant id defined in the BambuClient * @returns request url */ getURLPath(tenantId?: string): string; private _firstName?; private _lastName?; private _email?; private _phone?; private _metadata?; private _ledgerType; constructor(input?: CreateAccountInput); /** * Sets the first name on the account. * @param value first name * @returns */ setFirstName(value: string): CreateAccount; /** * Sets the last name on the account. * @param value last name * @returns */ setLastName(value: string): CreateAccount; /** * Sets the email address on the account. * @param value email * @returns */ setEmail(value: string): CreateAccount; /** * Sets the phone number on the account. * @param value phone number, should start with +{country code} * @returns */ setPhone(value: string): CreateAccount; /** * Sets the ledger type on the account. * @param value ledger type * @returns */ setLedgerType(value: string): CreateAccount; /** * Sets any additional metadata to be stored against the account record * @param key the metadata attribute key * @param value the metadata attribute value * @returns */ setMetaData(key: string, value: string): CreateAccount; /** * getBody is used by the BambuClient to properly construct the request object body. * @returns Returns the expected body of the request utilizing the defined request attributes. */ getBody(): any; /** * getRootPath is used by the BambuClient to properly construct the request call. * @returns The root path of the request */ getRootPath(): string | undefined; }