/** * Content gating — hides premium content and shows a teaser. * * Usage: * const gate = createGate({ selector: '#article-body', teaserParagraphs: 2 }) * gate.hide() → wraps content, shows teaser * gate.reveal() → removes overlay, shows full content */ export interface GateOptions { /** CSS selector for the premium content element */ selector: string; /** Number of paragraphs to show before the paywall */ teaserParagraphs: number; /** * Paywall display mode. In overlay mode the gradient is rendered inside the * paywall panel itself, so the gate skips injecting its own fade element. */ paywallMode: 'inline' | 'overlay'; } export interface Gate { hide(): boolean; reveal(): void; isGated(): boolean; } export declare function createGate(options: GateOptions): Gate;