import { AxiosError, AxiosResponse } from "axios";
import { HttpClientResponse } from "../httpClient/httpClient";
import AdtException from "./adtException";
export default class AdtExceptionController {
    isAdtError(e: unknown): e is AdtException;
    isCsrfError(e: unknown): e is AdtException;
    isHttpError(e: unknown): e is AdtException;
    isAdtException(e: unknown): e is AdtException;
    isResponse: (r: any) => r is HttpClientResponse;
    /**
     * Genera un error simple
     * @param response | Respuesta HTTP de Axios o propia
     * @returns Excepción ADTError
     */
    simpleError: (response: HttpClientResponse | AxiosResponse, typeID?: symbol) => AdtException;
    /**
     * Error procedente de una respuesta HTTP
     * @param data | Datos
     * @param response | Objeto con la respuesta HTTP
     * @returns Excepción
     */
    fromResponse: (data: string, response: HttpClientResponse | AxiosResponse) => AdtException;
    /**
     * Informa la excepción a partir de una excepción ABAP, o dump(creo)
     * @param abapException
     * @param response
     * @returns
     */
    fromAbapException(abapException: any, response: HttpClientResponse | AxiosResponse): AdtException;
    /**
     * Informa la excepción a partir de una error ABAP. Es otro tipo de error al que se genera cuando es excepción.
     * @param abapException
     * @param response
     * @returns
     */
    fromAbapError(bodyParsed: any, response: HttpClientResponse | AxiosResponse): AdtException;
    /**
     * Devuelve un string con los datos del error de Axios
     * @param e | Axios error
     * @returns String con los datos del error
     */
    axiosErrorBody: (e: AxiosError) => string;
    /**
     * Genera la excepción a partir de un error nativo del proceso
     * @param error | Error nativo
     * @returns Excepción
     */
    fromError: (error: unknown) => AdtException;
    /**
     * Proceso interno que gestiona si viene desde excepcion o respuesta del servicio
     * @param errOrResp | Excepción o respuesta de servicios
     */
    fromExceptionOrResponse(errOrResp: HttpClientResponse | unknown): AdtException;
    /**
     * Devuelve la excepcion segun el error pasado por parámetro
     * @param errOrResp | Error
     * @returns | Clase con la excepción
     */
    fromException(errOrResp: unknown): AdtException;
    /**
     * Genera una excepción a partir de un texto libre
     * @param text Texto libre
     * @param text Numero de error
     * @returns Excepción
     */
    fromText(text: string, err?: number): AdtException;
}
//# sourceMappingURL=adtExceptionController.d.ts.map