import type { Branded } from '../framework/types/branded.js' import type { DeviceId } from './device.js' import type { Supporter, SupporterId } from './supporter.js' export type LicenseId = Branded<`lic_${string}`, 'LicenseId'> export interface License { readonly id: LicenseId readonly supporter: Supporter readonly flags?: Array<{ readonly key: string; readonly value: string }> } // // Important: This type definition only contains the attributes // required for the SDK. You can find the complete data structure in // `core/domain/model/license.ts` // export interface LicenseJwt { readonly azp: LicenseId readonly sub: SupporterId readonly name: string readonly exp: number readonly iat: number readonly 'generous.builders:benefit-name': string readonly 'generous.builders:device-id': DeviceId readonly 'generous.builders:supporter-avatar-url'?: string readonly 'generous.builders:flags'?: Array<{ key: string; value: string }> }