import type { RuleCMSWidgetData } from '../models/widget-data'; import type { WidgetSelection } from '../widget-selection/types'; import type { WidgetResolveContentType, WidgetSelectionParams } from '../widget-selection/types'; /** How long a published-token GET stays in the in-process cache. */ export declare const DEFAULT_PUBLISHED_WIDGET_CACHE_MS = 60000; /** Drops the in-process published-widget cache. Tests call this between cases. */ export declare function clearPublishedWidgetFetchCache(): void; export declare class RuleCMSWidgetFetchError extends Error { readonly statusCode: number; readonly body: string; readonly url: string; constructor({ statusCode, body, url, message, }: { statusCode: number; body: string; url: string; message?: string; }); } export interface FetchWidgetParams { publishedKey?: string; rulesetPublishedKey?: string; params?: WidgetSelectionParams; fallbackPublishedKey?: string; contentType?: WidgetResolveContentType; token: string; endpoint?: string; /** Skip the 60s published GET cache. `dev.` tokens are never cached. */ bypassCache?: boolean; } /** HTTP client for RuleCMS widget GET and ruleset resolve endpoints. */ export declare class RuleCMSWidgetClient { private readonly clock; constructor(clock?: () => number); fetchWidget({ publishedKey, rulesetPublishedKey, params, fallbackPublishedKey, contentType, token, endpoint, bypassCache, }: FetchWidgetParams): Promise; private getPublished; private resolve; private prepareResponse; private prepareRaw; } export type { WidgetSelection }; //# sourceMappingURL=widget-client.d.ts.map