import type { CacheDidUpdateCallbackParam } from "../../types.js"; import type { BROADCAST_UPDATE_MESSAGE_META, BROADCAST_UPDATE_MESSAGE_TYPE } from "./constants.js"; export interface BroadcastCacheUpdateOptions { /** * A list of headers that will be used to determine whether the responses * differ. * * @default * ['content-length', 'etag', 'last-modified']` */ headersToCheck?: string[]; /** * A function whose return value * will be used as the `payload` field in any cache update messages sent * to the window clients. * @param options * @returns */ generatePayload?: (options: CacheDidUpdateCallbackParam) => Record; /** * If `true` (the default) then all open clients will receive a message. If `false`, * then only the client that make the original request will be notified of the update. * * @default true */ notifyAllClients?: boolean; } export type BroadcastPayload = Record; export type BroadcastPayloadGenerator = (options: CacheDidUpdateCallbackParam) => BroadcastPayload; export interface BroadcastMessage { type: typeof BROADCAST_UPDATE_MESSAGE_TYPE; meta: typeof BROADCAST_UPDATE_MESSAGE_META; payload: BroadcastPayload; } //# sourceMappingURL=types.d.ts.map