import type { FunnelExperimentDefinition } from '../config/funnel.experiments.types.js'; import type { GeneratedOfferSet } from '../runtime/offer-set-runtime.js'; export type FunnelRuntimeConfig = { schemaVersion: 2; funnelId: string; projectId: string; paymentsApiVersion?: unknown; sessionReplay?: { enabled?: unknown; sampleRate?: unknown; }; defaultOfferSetId?: string | null; defaultOfferSetIdByDomain?: Record; offerSets: unknown[]; experiments: unknown[]; }; export type FunnelSessionReplayConfig = { enabled: boolean; sampleRate: number; }; export type ResolvedFunnelRuntimeConfig = { revisionId: string; sourceDeploymentId: string; sourceVersionId: string; publishedAt: string; paymentsApiVersion?: 'v2'; sessionReplay?: FunnelSessionReplayConfig; defaultOfferSetId?: string | null; offerSets: readonly GeneratedOfferSet[]; experiments: readonly FunnelExperimentDefinition[]; }; export type PublishedFunnelRuntimeConfig = { revisionId: string; sourceDeploymentId: string; sourceVersionId: string; schemaVersion: 2; publishedAt: string; config: FunnelRuntimeConfig; }; type RuntimeConfigFetcher = (input: RequestInfo | URL, init?: RequestInit) => Promise; export declare const resolvePublishedFunnelRuntimeConfig: (published: PublishedFunnelRuntimeConfig, options?: { expectedFunnelVersionId?: string; hostname?: string; }) => ResolvedFunnelRuntimeConfig; export declare const loadFunnelRuntimeConfig: (funnelId: string, options?: { fetcher?: RuntimeConfigFetcher; basePath?: string; versionId?: string; }) => Promise; export declare const clearFunnelRuntimeConfigInflight: () => void; export {};