import { TypedEmitter } from "tiny-typed-emitter"; import { TrustDevice, Cipher, EventRecordResponse, ConfirmInvite, SensorHistoryEntry, ApiResponse, HouseDetail, DeviceListResponse, StationListResponse, HouseInviteListResponse, HouseListResponse, PassportProfileResponse, User, AddUserResponse } from "./models"; import { HTTPApiEvents, Ciphers, FullDevices, Hubs, Voices, Invites, HTTPApiRequest, HTTPApiPersistentData, LoginOptions, Schedule } from "./interfaces"; import { EventFilterType, PublicKeyType, VerfyCodeTypes } from "./types"; export declare class HTTPApi extends TypedEmitter { private static apiDomainBase; private readonly SERVER_PUBLIC_KEY; private apiBase; private username; private password; private ecdh; private token; private tokenExpiration; private renewAuthTokenJob?; private connected; private requestEufyCloud; private throttle; private devices; private hubs; private houses; private persistentData; private headers; private constructor(); static getApiBaseFromCloud(country: string): Promise; private loadLibraries; static initialize(country: string, username: string, password: string, persistentData?: HTTPApiPersistentData): Promise; private clearScheduleRenewAuthToken; private scheduleRenewAuthToken; private invalidateToken; setPhoneModel(model: string): void; getPhoneModel(): string; getCountry(): string; setLanguage(language: string): void; getLanguage(): string; login(options?: LoginOptions): Promise; sendVerifyCode(type?: VerfyCodeTypes): Promise; listTrustDevice(): Promise>; addTrustDevice(verifyCode: string): Promise; getStationList(): Promise>; getDeviceList(): Promise>; refreshHouseData(): Promise; refreshStationData(): Promise; refreshDeviceData(): Promise; refreshAllData(): Promise; request(request: HTTPApiRequest, withoutUrlPrefix?: boolean): Promise; checkPushToken(): Promise; registerPushToken(token: string): Promise; setParameters(stationSN: string, deviceSN: string, params: { paramType: number; paramValue: any; }[]): Promise; getCiphers(/*stationSN: string, */ cipherIDs: Array, userID: string): Promise; getVoices(deviceSN: string): Promise; getCipher(/*stationSN: string, */ cipherID: number, userID: string): Promise; getDevices(): FullDevices; getHubs(): Hubs; getToken(): string | null; getTokenExpiration(): Date | null; setToken(token: string): void; setTokenExpiration(tokenExpiration: Date): void; getAPIBase(): string; setOpenUDID(openudid: string): void; setSerialNumber(serialnumber: string): void; private _getEvents; getVideoEvents(startTime: Date, endTime: Date, filter?: EventFilterType, maxResults?: number): Promise>; getAlarmEvents(startTime: Date, endTime: Date, filter?: EventFilterType, maxResults?: number): Promise>; getHistoryEvents(startTime: Date, endTime: Date, filter?: EventFilterType, maxResults?: number): Promise>; getAllVideoEvents(filter?: EventFilterType, maxResults?: number): Promise>; getAllAlarmEvents(filter?: EventFilterType, maxResults?: number): Promise>; getAllHistoryEvents(filter?: EventFilterType, maxResults?: number): Promise>; isConnected(): boolean; getInvites(): Promise; confirmInvites(confirmInvites: Array): Promise; getPublicKey(deviceSN: string, type: PublicKeyType): Promise; decryptAPIData(data?: string, json?: boolean): any; getSensorHistory(stationSN: string, deviceSN: string): Promise>; getHouseDetail(houseID: string): Promise; getHouseList(): Promise>; getHouseInviteList(isInviter?: number): Promise>; confirmHouseInvite(houseID: string, inviteID: number): Promise; getPersistentData(): HTTPApiPersistentData | undefined; getPassportProfile(): Promise; addUser(deviceSN: string, nickname: string, stationSN?: string): Promise; deleteUser(deviceSN: string, shortUserId: string, stationSN?: string): Promise; getUsers(deviceSN: string, stationSN: string): Promise | null>; getUser(deviceSN: string, stationSN: string, shortUserId: string): Promise; updateUser(deviceSN: string, stationSN: string, shortUserId: string, nickname: string): Promise; getImage(deviceSN: string, url: string): Promise; updateUserPassword(deviceSN: string, shortUserId: string, passwordId: string, schedule: Schedule, stationSN?: string): Promise; }