import { MacAddress } from "../../types"; /** * IdentifierCache is a model class that manages a system of associating HAP "Accessory IDs" and "Instance IDs" * with other values that don't usually change. HomeKit Clients use Accessory/Instance IDs as a primary key of * sorts, so the IDs need to remain "stable". For instance, if you create a HomeKit "Scene" called "Leaving Home" * that sets your Alarm System's "Target Alarm State" Characteristic to "Arm Away", that Scene will store whatever * "Instance ID" it was given for the "Target Alarm State" Characteristic. If the ID changes later on this server, * the scene will stop working. * @group Model */ export declare class IdentifierCache { username: MacAddress; _cache: Record; _usedCache: Record | null; _savedCacheHash: string; constructor(username: MacAddress); startTrackingUsage(): void; stopTrackingUsageAndExpireUnused(): void; getCache(key: string): number; setCache(key: string, value: number): number; getAID(accessoryUUID: string): number; getIID(accessoryUUID: string, serviceUUID: string, serviceSubtype?: string, characteristicUUID?: string): number; getNextAID(): number; getNextIID(accessoryUUID: string): number; save(): void; /** * Persisting to File System */ static persistKey(username: MacAddress): string; static load(username: MacAddress): IdentifierCache | null; static remove(username: MacAddress): void; } //# sourceMappingURL=IdentifierCache.d.ts.map