import { Logging } from "homebridge"; import { CameraConfig } from "./cameraAccessory"; import { OnvifCamera } from "./onvifCamera"; import type { TAPOBasicInfo, TAPOCameraSetRequest } from "./types/tapo"; export type Status = { eyes: boolean | undefined; alarm: boolean | undefined; notifications: boolean | undefined; motionDetection: boolean | undefined; led: boolean | undefined; }; export declare class TAPOCamera extends OnvifCamera { protected readonly log: Logging; protected readonly config: CameraConfig; private readonly kStreamPort; private readonly fetchAgent; private readonly hashedPassword; private readonly hashedSha256Password; private passwordEncryptionMethod; private isSecureConnectionValue; private stokPromise; private readonly cnonce; private lsk; private ivb; private seq; private stok; constructor(log: Logging, config: CameraConfig); private getUsername; private getHeaders; private getHashedPassword; private fetch; private generateEncryptionToken; getAuthenticatedStreamUrl(lowQuality?: boolean): string; private generateCnonce; private validateDeviceConfirm; refreshStok(loginRetryCount?: number): Promise; isSecureConnection(): Promise; getStok(loginRetryCount?: number): Promise; private getAuthenticatedAPIURL; encryptRequest(request: string): Buffer; private encryptPad; private decryptResponse; private encryptUnpad; private getTapoTag; private pendingAPIRequests; private apiRequest; static SERVICE_MAP: Record TAPOCameraSetRequest>; setStatus(service: keyof Status, value: boolean): Promise; getBasicInfo(): Promise; getStatus(): Promise; }