import { MacAddress } from "../../types"; import { SerializableController } from "../controller"; import { Accessory } from "../Accessory"; /** * @group Model */ export declare class ControllerStorage { private readonly accessoryUUID; private initialized; private username?; private fileCreated; purgeUnidentifiedAccessoryData: boolean; private trackedControllers; private controllerData; private restoredAccessories?; private parent?; private linkedAccessories?; private queuedSaveTimeout?; private queuedSaveTime?; constructor(accessory: Accessory); private enqueueSaveRequest; /** * Links a bridged accessory to the ControllerStorage of the bridge accessory. * * @param accessory */ linkAccessory(accessory: Accessory): void; trackController(controller: SerializableController): void; untrackController(controller: SerializableController): void; purgeControllerData(controller: SerializableController): void; private handleStateChange; private restoreController; /** * Called when this particular Storage object is feed with data loaded from disk. * This method is only called once. * * @param data - array of {@link StoredControllerData}. undefined if nothing was stored on disk for this particular storage object */ private init; load(username: MacAddress): void; save(): void; static persistKey(username: MacAddress): string; static remove(username: MacAddress): void; } //# sourceMappingURL=ControllerStorage.d.ts.map