import { F as FEATURE, P as PROTOCOL_VERSION, S as SERVER_HEADER } from './browser-Bl2JEJGW.cjs'; export { C as CLIENT_HEADER, a as CURRENT_PROTOCOL_VERSION, W as WelcomeHeader, Z as ZEROAD_NETWORK_PUBLIC_KEY, d as decodeServerHeader, e as encodeServerHeader } from './browser-Bl2JEJGW.cjs'; type LogLevel = "error" | "warn" | "info" | "debug"; declare function setLogLevel(level: LogLevel): void; type LogTransport = (level: LogLevel, ...args: unknown[]) => void; declare function setLogTransport(fn: LogTransport): void; type FEATURE_ACTION = "HIDE_ADVERTISEMENTS" | "HIDE_COOKIE_CONSENT_SCREEN" | "HIDE_MARKETING_DIALOGS" | "DISABLE_NON_FUNCTIONAL_TRACKING" | "DISABLE_CONTENT_PAYWALL" | "ENABLE_SUBSCRIPTION_ACCESS"; type ClientHeaderValue = string | string[] | undefined; type TokenContext = Record; type ParseClientTokenOptions = { clientId: string; features: FEATURE[]; publicKey?: string; bypassCache?: boolean; }; declare function parseClientToken(headerValue: ClientHeaderValue, options: ParseClientTokenOptions): Promise; type DecodedClientHeader = { version: PROTOCOL_VERSION; expiresAt: Date; flags: number; clientId?: string; }; declare function decodeClientHeader(headerValue: string | null | undefined, publicKey: string): Promise; type EncodeData = { version: PROTOCOL_VERSION; expiresAt: Date; features: FEATURE[]; clientId?: string; }; declare function encodeClientHeader(data: EncodeData, privateKey: string): Promise; interface CacheConfig { enabled: boolean; maxSize: number; ttl: number; } declare let cacheConfig: CacheConfig; declare function configureCaching(config: Partial): void; declare function getCacheConfig(): Readonly; interface CacheEntry { data: DecodedClientHeader | undefined; effectiveExpiry: number; accessCount: number; timestamp: number; } declare const headerCache: Map; declare function trimCache(): void; declare function cleanExpiredEntries(now: number): void; type SiteOptions = { clientId: string; features: FEATURE[]; cacheConfig?: CacheConfig; }; declare function Site(options: SiteOptions): { parseClientToken: (headerValue: ClientHeaderValue) => Promise; CLIENT_HEADER_NAME: string; SERVER_HEADER_NAME: SERVER_HEADER; SERVER_HEADER_VALUE: string; }; export { FEATURE, PROTOCOL_VERSION, SERVER_HEADER, Site, cacheConfig, cleanExpiredEntries, configureCaching, decodeClientHeader, encodeClientHeader, getCacheConfig, headerCache, parseClientToken, setLogLevel, setLogTransport, trimCache }; export type { CacheConfig, ClientHeaderValue, DecodedClientHeader, FEATURE_ACTION, ParseClientTokenOptions, TokenContext };