import type { DeviceHardware, Fingerprint } from '../../../../domain/device.js'; import type { EncryptedDeviceRegistration } from '../../../../domain/device-registration-manifest.js'; import type { EncryptionPublicKey, SigningPublicKey } from '../../../../domain/keypair.js'; import type { Timestamp } from '../../../../domain/timestamp.js'; import type { Infrastructure } from '../../../../infrastructure/mod.js'; import type { Result } from '../../../../framework/types/result.js'; import { DeviceAlreadyRegisteredError, DeviceQuotaExceededError, DeviceRegistrationEligibilityError, InvalidDeviceRegistrationCodeError, InvalidDeviceRegistrationWindowError, RegisterDeviceClientError, RegisterDevicePlatformError } from './errors.js'; interface Options { infrastructure: Infrastructure; } export interface Dto { readonly code: string; readonly nonce: Timestamp; readonly device: Readonly<{ fingerprint: Fingerprint; hardware: DeviceHardware; }>; readonly encryption: Readonly<{ publicKey: EncryptionPublicKey; }>; readonly signing: Readonly<{ publicKey: SigningPublicKey; }>; } export interface ErrorResponse { readonly type: string; readonly message: string; } type RegisterDeviceError = DeviceAlreadyRegisteredError | DeviceQuotaExceededError | DeviceRegistrationEligibilityError | InvalidDeviceRegistrationCodeError | InvalidDeviceRegistrationWindowError | RegisterDeviceClientError | RegisterDevicePlatformError; export declare function buildRegisterDevice(options: Options): (dto: Dto) => Promise>; export {}; //# sourceMappingURL=mod.d.ts.map