import { Observable } from 'rxjs'; import { BshcClient } from './api/bshc-client'; import { BshbResponse } from './bshb-response'; import { BoschSmartHomeBridgeBuilder } from './builder/bosch-smart-home-bridge-builder'; /** * The {@link BoschSmartHomeBridge} (BSHB) allows communication to Bosch Smart Home Controller (BSHC). * To allow communication BHSB needs to pair to BSHC. * * @author Christopher Holomek * @since 26.09.2019 */ export declare class BoschSmartHomeBridge { private readonly certificateStorage; private readonly pairingClient; private readonly bshcClient; private readonly host; private readonly logger; private readonly ignoreServerCertificateCheck; /** * Create a new instance for communication with BSHC * * @param bshbBuilder * builder used to create an instance */ constructor(bshbBuilder: BoschSmartHomeBridgeBuilder); /** * get BSHC client after pairing which allows actual communication with BSHC * @return BSHC client */ getBshcClient(): BshcClient; /** * Pair to BSHC if not already paired. * * @param name * name of the client if pairing is necessary. "OSS " prefix is added automatically * @param identifier * identifier to use. "oss_" prefix is added automatically. * @param systemPassword * system password of BSHC which is needed for pairing * @param pairingDelay * delay during pairing. This will give the user some time to press the pairing button on BSHC * @param pairingAttempts * attempts of pairing in case it is failing because pairing button not pressed on BSHC * @return the response object after pairing or undefined if already paired */ pairIfNeeded(name: string, identifier: string, systemPassword: string, pairingDelay?: number, pairingAttempts?: number): Observable>; private pairClient; }