@snap/camera-kit
Version:
Camera Kit Web
30 lines • 1.61 kB
TypeScript
import type { ConfigTargetingRequest } from "../generated-proto/pb_schema/cdp/cof/config_request";
import type { ConfigTargetingResponse } from "../generated-proto/pb_schema/cdp/cof/config_response";
import type { RequestStateEventTarget } from "../handlers/requestStateEmittingHandler";
import type { CameraKitConfiguration } from "../configuration";
import type { MetricsClient } from "../clients/metricsClient";
export interface Metadata {
[key: string]: string;
}
export declare const COF_REQUEST_TYPE = "cof";
export type CofDimensions = {
requestType: typeof COF_REQUEST_TYPE;
delta: string;
};
/**
* Handler chain used to make COF requests. Uses the COF client to perform the
* requests, with retries, timeout, and caching.
*
* The handler will first attempt to retrieve the COF response from cache. If it is found, the result is returned
* immediately and the cache is updated in the background. If no response is found, a COF request is made. This request
* will retry (with exponential backoff + jitter) for 5 seconds before returning an error to the caller.
*/
export declare const cofHandlerFactory: {
(args_0: CameraKitConfiguration, args_1: RequestStateEventTarget, args_2: MetricsClient): import("../handlers/HandlerChainBuilder").Handler<Partial<ConfigTargetingRequest>, ConfigTargetingResponse, Metadata & {
signal?: AbortSignal | null | undefined;
isSideEffect?: boolean | undefined;
}>;
token: "cofHandler";
dependencies: readonly ["configuration", "requestStateEventTarget", "metricsClient"];
};
//# sourceMappingURL=cofHandler.d.ts.map