import IResponse from './IResponse'; import IRequest from './IRequest'; import IRedirectResponse from './IRedirectResponse'; import { IObject } from './../interfaces'; export default abstract class AbstractResponse implements IResponse { protected readonly _request: IRequest; protected _data: IObject; abstract isSuccesful: boolean; readonly request: IRequest; readonly data: IObject; readonly abstract isPending: boolean; readonly abstract isRedirect: boolean; readonly abstract isTransparentRedirect: boolean; readonly abstract isCancelled: boolean; readonly abstract message: string; readonly abstract code: string; readonly abstract transactionReference: string; readonly abstract transactionId: string; readonly abstract redirectUrl: string; readonly abstract redirectMethod: string; readonly abstract redirectData: IObject; constructor(request: IRequest, data?: IObject); redirect(): void; /** * @throws RuntimeError */ readonly redirectResponse: IRedirectResponse; validateRedirect(): void; }