import { type BlinkStick } from './blinkstick';
/**
 * @summary Class to manage IDs on BlinkStick devices.
 * @remarks OK, let's not complicate it.
 * We just take over infoBlock2
 * @category Core
 */
export declare class DeviceIdManager {
    private readonly blinkstick;
    constructor(blinkstick: BlinkStick);
    /**
     * @summary Sets the device identifier.
     * @remarks The identifier must be a Buffer of length 16 bytes.
     * Prints the new identifier to stderr.
     * @param id
     */
    setId(id: Buffer): Promise<string>;
    /**
     * @summary Gets the device identifier, creating a new one if none is set.
     */
    getOrCreateId(): Promise<string>;
    /**
     * @summary Gets the device identifier or null.
     * @remarks Returns null if no identifier is set.
     */
    getId(): Promise<string | null>;
    private generateNewIdInfoBlock;
}
//# sourceMappingURL=id-manager.d.ts.map