declare module 'bunq-api/BunqKey' { export class BunqKey { constructor(privateKeyPem: string); static createNew(): BunqKey; static createFromPrivateKeyFile(pemFilename: string): BunqKey; toPublicKeyString(): string; toPrivateKeyString(): string; signApiCall(options: any): any; verifySigWithPubkey(options: any): boolean; createStringToSign(options: any): string; private static orderKeys(obj); readonly key: any; } } declare module 'bunq-api/BunqInterfaces' { export interface BunqServerConnection { request(options: any): Promise; } export interface SessionCreator { createSessionServer(): Promise; } } declare module 'bunq-api/BunqApiConfig' { export class BunqApiConfig { constructor(configFilename?: string); static createForSpecs(): BunqApiConfig; static read(filename: string): string; static readJson(filename: string): any; readonly json: any; } } declare module 'bunq-api/BunqApi' { import { BunqKey } from 'bunq-api/BunqKey'; import { BunqServerConnection, SessionCreator } from 'bunq-api/BunqInterfaces'; export class BunqApi { constructor(aConnection: BunqServerConnection, privateKey: BunqKey, aSecretApiKey: string, aSessionCreator: SessionCreator, aSessionFilename: string, aSessionHistoryPath: string); updateSession(): Promise; requestAndStoreSessionToken(): Promise; getSessionToken(): string; requestUser(): Promise; requestSomething(): Promise; requestMonetaryAccountBank(userId: string, accountId?: string): Promise; requestPayments(userId: string, accountId: string): Promise; sendPayment(userId: string, accountId: string, value: string, iban: string, name: string, description: string): Promise; installNotificationFilter(userId: string, accountId: string, url: string): Promise; private createOptions(method, endPoint, body?); private static createDefaultOptions(); setPubBunqKeyPem(pem: string): void; private request(options); private verifiedRequest(options); private sessionCreator; private connection; private apiKey; private privateKey; private sessionToken; private sessionFilename; private sessionHistoryPath; private pubBunqKey; } } declare module 'bunq-api/BunqApiSetup' { import { BunqKey } from 'bunq-api/BunqKey'; import { BunqServerConnection } from 'bunq-api/BunqInterfaces'; export class BunqApiSetup { constructor(aConnection: BunqServerConnection, aKey: BunqKey, aSecretApiKey: string, aInstallationToken: string); installKey(): Promise; createDeviceServer(description: string): Promise; createSessionServer(): Promise; private createOptions(method, endPoint, body); private createDefaultOptions(); private connection; private key; private secretApiKey; private installationToken; } } declare module 'bunq-api/BunqConnection' { export class BunqConnectionMock { constructor(); request(options: any): Promise; requestInstallation(): Promise; requestDeviceServer(): Promise; requestSessionServer(options: any): Promise; requestUser(): Promise; requestMoneytaryAccountBank(): Promise; requestPayments(): Promise; sendPayment(): Promise; installNotificationFilter(): Promise; private static signAndResolve(response); private verifyRequestSignature(options); private verifyInstallationToken(options); private config; private serverKey; } export class BunqConnection { constructor(); request(options: any): Promise; } } declare module 'bunq-api/index' { import { BunqKey } from 'bunq-api/BunqKey'; import { BunqApi } from 'bunq-api/BunqApi'; import { BunqApiConfig } from 'bunq-api/BunqApiConfig'; import { BunqApiSetup } from 'bunq-api/BunqApiSetup'; import { BunqConnection } from 'bunq-api/BunqConnection'; import { BunqServerConnection } from 'bunq-api/BunqInterfaces'; import { SessionCreator } from 'bunq-api/BunqInterfaces'; export { BunqKey, BunqApi, BunqApiConfig, BunqApiSetup, BunqConnection, BunqServerConnection, SessionCreator }; }