import { IDevice, IStatus, IStatusQuery } from "../interfaces/IDevice";
import { IDtDevice } from "../interfaces/IDtDevice";
export declare class DeviceRepository {
    private readonly postgres;
    private readonly axiosInstance;
    constructor();
    createDevice(body: IDevice): Promise<IDevice>;
    getDevice(deviceId: string, withHubDetails?: boolean): Promise<IDevice>;
    updateDevice(deviceId: string, body: any): Promise<IDevice>;
    updateDevices(query: any, updateData: any): Promise<any>;
    deleteDevice(deviceId: string): Promise<void>;
    getDevices(deviceIds: string[], withHubDetails?: boolean): Promise<IDevice[]>;
    getPropertyDevices(propertyId: string, selectDeviceId?: boolean, type?: string, withHubDetails?: boolean): Promise<IDevice[]>;
    getState(deviceId: string): Promise<any>;
    setState(deviceId: string, state: any): Promise<any>;
    getStatus(deviceId: string): Promise<Record<string, any>>;
    setStatus(deviceId: string, newStatus: IStatus): Promise<any>;
    setStatusMany(query: IStatusQuery, newStatus: IStatus): Promise<any>;
    getBatteryLevel(deviceId: string): Promise<Record<string, any>>;
    setBatteryLevel(deviceId: string, newBatteryLevel: any): Promise<any>;
    getMetaData(deviceId: string): Promise<any>;
    setMetaData(deviceId: string, metaData: Record<string, any>): Promise<any>;
    getDevicesByAccessGroup(accessGroupId: string): Promise<IDtDevice[]>;
    getDevicesByZone(zoneId: string): Promise<IDtDevice[]>;
    querySelect(query: any, fields: string[]): Promise<any>;
    queryCount(query: any): Promise<number>;
    deleteDevices(query: any): Promise<any>;
    queryDevices(query: any): Promise<any>;
}
