import type { IncomingDlPayload, LinkerConfig, LinkerUrlPosition, RuntimeState, WindowLike } from "../types.ts"; declare function resolveLinkerConfig(cfg: LinkerConfig): Required; declare function stripParamFromUrl(url: string, name: string): string; declare function setParamInUrl(url: string, name: string, value: string, pos: LinkerUrlPosition): string; declare function encodeDl({ cookies, ts, windowRef, }: { cookies: Record; ts: number; windowRef: WindowLike; }): string; declare function decodeDl({ value, windowRef, ttlMs, }: { value: string; windowRef: WindowLike; ttlMs?: number; }): IncomingDlPayload | null; type SharedLinkerCoordinator = ReturnType; declare function createSharedLinkerCoordinator({ windowRef }: { windowRef: WindowLike; }): { start: () => void; stop: () => void; applyIncomingIfReady: () => void; registerRuntime: (getState: () => RuntimeState) => () => void; updateConfigPatch: (patch: unknown) => void; __internal: { encodeDl: typeof encodeDl; decodeDl: typeof decodeDl; decorateUrlIfNeeded: (rawUrl: string) => string; stripParamFromUrl: typeof stripParamFromUrl; setParamInUrl: typeof setParamInUrl; resolveLinkerConfig: typeof resolveLinkerConfig; }; }; export declare function getSharedLinkerCoordinator({ windowRef, }: { windowRef: WindowLike; }): SharedLinkerCoordinator; export declare function createLinker({ windowRef, getState, }: { windowRef: WindowLike; getState: () => RuntimeState; }): { start: () => void; stop: () => void; applyIncomingIfReady: () => void; updateConfigPatch: (patch: unknown) => void; __internal: { encodeDl: typeof encodeDl; decodeDl: typeof decodeDl; decorateUrlIfNeeded: (rawUrl: string) => string; stripParamFromUrl: typeof stripParamFromUrl; setParamInUrl: typeof setParamInUrl; resolveLinkerConfig: typeof resolveLinkerConfig; }; }; export {};