import { VzFormat } from '@vizor-vr/shared'; import type { FeatureFlags } from '@vizor-vr/shared'; /** * Tier gating for playback formats. A free-tier viewer must not get the paid * stereo/180 formats, but per product decision we degrade gracefully rather than * hard-fail: a stereo format renders as its mono equivalent (one eye), and only * formats with no sensible fallback (a 180 half-sphere projection) are blocked. */ export type FormatGateDecision = { action: 'allow'; } | { action: 'downgrade'; to: VzFormat; } | { action: 'block'; requires: 'stereoFormats' | 'formats180'; }; /** * Decide whether a format may play under the given license features, returning a * graceful downgrade where one exists. */ export declare function resolveFormatGate(format: VzFormat | string, features: FeatureFlags): FormatGateDecision; //# sourceMappingURL=format-gate.d.ts.map