import { Host } from './host';
import { Logger } from '../logger';
import { BoschSmartHomeBridge } from '../bosch-smart-home-bridge';
import { ClientCert } from './client-cert';
import { ClientKey } from './client-key';
/**
* Builder for creating BoschSmartHomeBridge to make sure that properties are correctly set.
*
* @author Christopher Holomek
* @since 28.11.2019
*/
export declare class BoschSmartHomeBridgeBuilder implements Host, ClientCert, ClientKey {
private _host;
private _clientCert;
private _clientPrivateKey;
private _logger;
private _ignoreSeverCertificateCheck;
/**
* Hide constructor
*/
private constructor();
/**
* Create a new instance of a builder
*/
static builder(): Host;
/**
* Get host name / ip address of BSHC
*/
get host(): string;
withHost(host: string): BoschSmartHomeBridgeBuilder;
/**
* Get client certificate (base64)
*/
get clientCert(): string;
withClientCert(clientCert: string): BoschSmartHomeBridgeBuilder;
/**
* Get client private key (base64)
*/
get clientPrivateKey(): string;
withClientPrivateKey(clientPrivateKey: string): BoschSmartHomeBridgeBuilder;
/**
* Get logger
*/
get logger(): Logger;
/**
* Set logger to use
* @param logger
* logger to use
*/
withLogger(logger: Logger): BoschSmartHomeBridgeBuilder;
/**
* Set ignore server certificate check
* @param ignore
* ignore server certificate check
*/
withIgnoreCertificateCheck(ignore: boolean): BoschSmartHomeBridgeBuilder;
/**
* Get ignore server certificate check.
*/
get ignoreSeverCertificateCheck(): boolean;
/**
* Build {@link BoschSmartHomeBridge}. Required properties are:
* - host
* - clientCert
* - clientPrivateKey
*/
build(): BoschSmartHomeBridge;
}