import type { PropertyConfig, RuntimeState } from "../types.ts"; import type { CookieSettings } from "./cookie_settings.ts"; type CookieJarLike = { get: (name: string) => string | undefined; set: (name: string, value: string, opts?: { domain?: string; path?: string; sameSite?: string; secure?: boolean; maxAgeSeconds?: number; }) => { ok?: boolean; domain?: string | null; cookieStr?: string | null; attempts?: unknown[]; } | unknown; }; /** * Updates shared session tokens once per event and writes the same serialized * session cookie value to each destination property cookie (when allowed). * * This preserves the current dispatcher behavior while making it testable and reusable. */ export declare function updateAndWriteSharedSession({ state, destinations, jar, getPropertyConfig, resolveCookieSettings, sessionTimeoutMs, engagementTimeMs, engagedThresholdMs, nowMs, log, }: { state: RuntimeState; destinations: string[]; jar: CookieJarLike; getPropertyConfig: (pid: string) => PropertyConfig; resolveCookieSettings: (pcfg: PropertyConfig) => CookieSettings; sessionTimeoutMs?: number; engagementTimeMs?: number; engagedThresholdMs?: number; nowMs?: number; log?: ((...args: unknown[]) => void) | null; }): void; export {};