import type { ProductEntitlement, LicenseLifecycle, LicenseChannels } from './types'; /** * The time references a license is measured against: the current instant for a * `usage_until` entitlement, and the build release date (as the bare * "YYYY-MM-DD" text it is compared to) for a `release_until` one. The build * date is text on purpose - the maintenance check is static against static, so * it holds on a machine with no clock and cannot disagree between two * timezones. */ export interface LicenseTimeReference { now: number; buildDate: string; } /** * Classifies one product entitlement into its lifecycle facet. * * Which of the two dates the entry carries decides how it is measured; the * `trial` flag decides only what the user is told. Nothing here branches on a * contract type, because the payload does not carry one. * * @param {ProductEntitlement} entitlement The verified product entry. * @param {LicenseTimeReference} time The time references to measure against. * @returns {LicenseLifecycle} */ export declare function classifyEntitlement(entitlement: ProductEntitlement, time: LicenseTimeReference): LicenseLifecycle; /** * Reads which notification channels a product entitlement leaves open. Both * flags are per product and default to open; a key issued for external, * end-user-facing use carries both. * * @param {ProductEntitlement} entitlement The verified product entry. * @returns {LicenseChannels} */ export declare function resolveChannels(entitlement: ProductEntitlement): LicenseChannels;