import { Device, DevicePayload } from "../types/device";
import { INamiRefsInstance } from "../utils/anonymousMode";
export declare class DeviceRepository {
    static instance: DeviceRepository;
    createOrUpdateDevice(deviceData: DevicePayload, splitPositionUUID?: string, namiRefs?: INamiRefsInstance): {
        id: string;
        device: Promise<Device | null>;
    };
    createDevice(deviceData: DevicePayload, namiRefs?: INamiRefsInstance): Promise<Device | null>;
    updateDevice(currentDeviceId: string, deviceData: DevicePayload): Promise<Device | null>;
    updateDeviceField<T>(key: string, value: T): Promise<Device | null>;
    private requestAPIData;
    private isEqualDevices;
    getOrCreateAnonymousUUID(): string;
    private getAnonymousUUID;
}
