///
import { CreateSubscriptionRequest } from './CreateSubscriptionRequest';
import { APIResponse } from './APIResponse';
import { Subscription } from './Subscription';
import { GetSubscriptionsRequest } from './GetSubscriptionsRequest';
import { SubscriptionsList } from './SubscriptionsList';
import { Transfer } from './Transfer';
import { TransferRequest } from './TransferRequest';
import { WyreAccount } from './WyreAccount';
import { CreateAccountRequest } from './CreateAccountRequest';
import { UploadDocumentParams } from './UploadDocumentParams';
import { CreateWyreWalletParams } from './CreateWyreWalletParams';
import { WyreWallet } from './WyreWallet';
import { CreateMultipleWalletsParams } from './CreateMultipleWalletsParams';
import { EditWalletParams } from './EditWalletParams';
import { PaymentMethodParams } from './PaymentMethodParams';
import { PaymentMethod } from './PaymentMethod';
import { UploadPaymentMethodDocumentParams } from './UploadPaymentMethodDocumentParams';
import { UpdateAccountRequest } from './UpdateAccountRequest';
import { WyreUser } from './WyreUser';
import { CreateUserRequest } from './CreateUserRequest';
import { WyreUserKYCData } from './WyreUserKYCData';
import { MigrateAccountResponse } from './MigrateAccountResponse';
export interface WyreAPIInterface {
initialize(): any;
createUser(params: CreateUserRequest): Promise>;
getUser(userID: any): Promise>;
uploadUserKYCData(userID: string, kycData: WyreUserKYCData): Promise>;
createAccount(params: CreateAccountRequest): Promise>;
updateAccount(accountID: any, updates: UpdateAccountRequest): Promise>;
migrateAccount(accountID: string): Promise>;
uploadDocument(params: UploadDocumentParams, buff: Buffer): Promise>;
uploadPaymentMethodDocument(params: UploadPaymentMethodDocumentParams, buff: Buffer): Promise>;
getAccountInfoV2(): Promise>;
getAccountInfoV3(accountID: string): Promise>;
addPaymentMethod(params: PaymentMethodParams): Promise>;
getPaymentMethod(paymentMethodID: string): Promise>;
listPaymentMethods(): Promise>;
deletePaymentMethod(paymentMethodID: string): Promise>;
getTransfers(transferID: string): Promise>;
createTransfer(transferRequest: TransferRequest): Promise>;
confirmTransfer(transferID: any): Promise>;
createSubscription(subscribeRequest: CreateSubscriptionRequest): Promise>;
deleteSubscription(subscriptionID: any): Promise>;
getSubscriptions(subscriptionsReq: GetSubscriptionsRequest): Promise>;
createWallet(walletParams: CreateWyreWalletParams): Promise>;
createMultipleWallets(params: CreateMultipleWalletsParams): Promise>;
lookupWallet(walletID: string): Promise>;
editWallet(walletID: string, params: EditWalletParams): Promise>;
deleteWallet(walletID: string): Promise>;
listWallets(limit: number, offset: number): Promise>;
getMasqueraded(accountToken: string): WyreAPIInterface;
}