import { HttpClient } from '@angular/common/http';
import { RecaptchaSettings } from 'ng-recaptcha/recaptcha/recaptcha-settings';
import { ConnectionService } from '../api/connection.service';
import { Constants } from '../core.consts';
export declare class CaptchaService {
    private consts;
    private connection;
    private http;
    private captchaSubject;
    captcha: import("rxjs").Observable<RecaptchaSettings>;
    private urlBaseFormat;
    private testing;
    private productionEnvironment;
    private recaptchaSiteKeysUrl;
    private recaptchaSitesUrl;
    private recaptchaSitesUrlProd;
    private RECAPTCHA_SITE_KEYS;
    private RECAPTCHA_SITES;
    /**
     * @description Carga las configuraciones iniciales
     * @param consts Constantes del core
     * @param connection Servicio para realizar las peticiones HTTP al backend
     * @param http Servicio utilizado para obtener archivos estaticos contenidos dentro de la aplicación
     */
    constructor(consts: Constants, connection: ConnectionService, http: HttpClient);
    /**
     *
     * @returns {string} path que contiene la direccion del endpoint referido al captcha
     */
    private captchaApi;
    /**
     * @description Devuelve true si la url es de produccion, false en caso contrario.
     * @returns {Boolean}
     */
    private isProd;
    /**
     * @description Carga las variables RECAPTCHA_SITES y RECAPTCHA_SITE_KEYS, con los valores
     * de los Json estaticos, para posteriormente obtener la "siteKey"(clave del captcha) en caso
     * de que no venga desde el backend.
     */
    private initializer;
    /**
     *
     * @returns {Observable<>} Datos obtenidos del archivo con las claves captcha
     */
    private getRecaptchaSiteKeys;
    /**
     * @description Se obtiene los datos segun el entorno en que se ejecute
     * @returns {Observable<>} Datos obtenidos del archivo con las url de los sitios
     */
    private getRecaptchaSites;
    /**
     * @description Genera una peticion para recibir la clave del captcha. En caso de no tener exito,
     * utiliza los archivos estaticos para retornar una clave por defecto. Rellena el Observable con
     * los datos generados.
     */
    private getSiteKey;
    /**
     *
     * @returns {string} Clave del captcha.
     */
    getKey: () => import("rxjs").Observable<string>;
    /**
     * @description Recibe una url y se encarga de quitarle "http", "/" y las demas rutas, para devolver la url
     * del sitio con una formato limpio. Ejemplo "https://ejemplo.com.ar/ruta1/ruta2/" a "ejemplo.com.ar"
     * @param {string} url url que sera formateada
     * @returns {string} url formateada
     */
    private formatUrl;
}
