///
import { IncomingMessage } from 'http';
import { RequestOptions } from 'https';
import { CieloTransactionInterface } from '../interface/cielo-transaction.interface';
export declare class Utils {
private cieloConstructor;
constructor(params: CieloTransactionInterface);
get(params: {
path: string;
}): Promise;
postToSales(data: U): Promise;
/**
* Realiza um post na API da Cielo
* @param params path do post
* @param data payload de envio
*/
post(params: {
path: string;
}, data: U): Promise;
getHttpRequestOptions(params: {
hostname: string;
path: string;
method: HttpRequestMethodEnum;
}): IHttpRequestOptions;
private parseHttpRequestError;
private parseHttpPutResponse;
httpRequest(options: IHttpRequestOptions, data: any): Promise;
request(options: IHttpRequestOptions, data: any): Promise;
validateJSON(text: string): boolean;
}
export declare enum HttpRequestMethodEnum {
GET = "GET",
POST = "POST",
PUT = "PUT"
}
export interface IHttpRequestOptions extends RequestOptions {
method: HttpRequestMethodEnum;
path: string;
hostname: string;
headers: any;
encoding: string;
port: number;
}
export interface IHttpRequestReject {
statusCode: string;
request: string;
response: IncomingMessage;
}
/**
* Interface com dados que serão retornados em todas as requisições
*/
export interface IHttpResponse {
statusCode: number;
statusMessage: string;
data?: any;
}