import type { JSONWithUndefined, JsonOf } from "type-party"; import type { AnyParams, AnyValidators, CacheSpec, JsonifiedEntry, NormalizedParams, NormalizedVary } from "../types/index.js"; import { type VariantKey } from "../utils/varyHelpers.js"; export type WorkerInitData = { databasePath: string; busyTimeoutMs: number; role: "reader" | "writer"; }; type WorkerEntry = JsonifiedEntry, AnyValidators, AnyParams>; export type WorkerEntryJson = JsonOf; type GetRequest = { id: string; params: NormalizedParams; }; export type StoreEntryInput = { resourceId: string; variantKey: VariantKey; vary: NormalizedVary; entryJson: WorkerEntryJson; expiresAt: number | null; }; export type WorkerOperations = { get: { request: GetRequest; result: WorkerEntryJson[]; }; getMany: { request: { requests: readonly GetRequest[]; }; result: WorkerEntryJson[][]; }; store: { request: { entries: readonly StoreEntryInput[]; }; result: void; }; delete: { request: { id: string; }; result: void; }; deleteExpired: { request: { ids?: readonly string[]; }; result: void; }; close: { request: { checkpoint: boolean; }; result: void; }; }; type WorkerOperationType = keyof WorkerOperations; export type WorkerRequestInput = { [Key in Type]: { type: Key; } & WorkerOperations[Key]["request"]; }[Type]; export type ReadWorkerRequestInput = WorkerRequestInput<"get" | "getMany">; export type ReadWorkerCloseInput = WorkerRequestInput<"close">; export type WriteWorkerRequestInput = WorkerRequestInput<"store" | "delete" | "deleteExpired" | "close">; export type WorkerResultForRequest = WorkerOperations[Request["type"]]["result"]; export default function runTask(message: WorkerRequestInput): Promise>; export {}; //# sourceMappingURL=SqliteStore.worker.d.ts.map