import { Observable } from 'rxjs'; import { Logger } from '../logger'; import { CertificateStorage } from '../certificate-storage'; import { BshbResponse } from '../bshb-response'; import { BshbCallOptions } from '../bshb-call-options'; /** * This class provides a simple call for all defined clients * * @author Christopher Holomek * @since 26.09.2019 */ export declare abstract class AbstractBshcClient { protected host: string; protected logger: Logger; protected ignoreServerCertificateCheck: boolean; protected static PAIR_PORT: number; private static DEFAULT_TIMEOUT; private static CONTENT_DISPOSITION_FILE_NAME_REGEX; /** * Needed parameters for a {@link AbstractBshcClient} * * @param host * host name / ip address of BSHC * @param logger * Logger to use * @param ignoreServerCertificateCheck * Ignores the server certificate. */ protected constructor(host: string, logger: Logger, ignoreServerCertificateCheck: boolean); /** * A simple call to the Bosch Smart Home Controller (BSHC) * @param port * port to use for the call * @param method * HTTP method type * @param path * path to use * @param data * body of request. If not defined no content will be set * @param options * a set of options to specify the call regarding security. */ protected simpleCall(port: number, method: string, path: string, data?: any, options?: { certificateStorage?: CertificateStorage; systemPassword?: string; isBinaryResponse?: boolean; bshbCallOptions?: BshbCallOptions; }): Observable>; private handleError; private logResponse; private extractFileName; }