import IGateway from './IGateway'; import IClient from './http/IClient'; import AbstractRequest from './message/AbstractRequest'; import { IObject, ReadIObject } from './interfaces'; export default abstract class AbstractGateway implements IGateway { protected _parameters: IObject; protected readonly _httpClient: IClient; abstract name: string; readonly abstract defaultParameters: ReadIObject; readonly httpClient: IClient; readonly parameters: IObject; testMode: boolean; currency: string; constructor(client: IClient); readonly supportsAuthorize: boolean; readonly supportsCompleteAuthorize: boolean; readonly supportsPurchase: boolean; readonly supportsCompletePurchase: boolean; readonly supportsRefund: boolean; readonly supportsVoid: boolean; readonly supportsCapture: boolean; readonly supportsAcceptNotification: boolean; readonly supportsCreateCard: boolean; readonly supportsDeleteCard: boolean; readonly supportsUpdateCard: boolean; initialize(parameters?: IObject): void; protected _createRequest(tRequest: new (client: IClient) => T, parameters?: IObject): T; private _isFunctionExists(funcName); }