import type { Gate } from './gate.js'; import type { createCreditsApi } from '../api/credits.js'; import type { StateStore } from '../core/state.js'; import type { EventEmitter } from '../core/events.js'; import type { ResolvedConfig } from '../types/index.js'; export interface PaywallModule { init(): Promise; checkAccess(): Promise; destroy(): void; login(): Promise; purchase(): Promise; buyMoreCredits(): void; } export declare function createPaywall(config: ResolvedConfig, creditsApi: ReturnType, state: StateStore, emitter: EventEmitter, existingGate?: Gate): PaywallModule;