export interface ExportRecord { token: string; fileName: string; meta: M; reused: boolean; expiresAt: string; } declare class ExportDownloadStore { private readonly byToken; private readonly byUser; private prune; /** * Returns the caller's existing unexpired export when one exists (the 24h * rate limit) without invoking `build`. Otherwise builds and stores a new * one. `userId` empty string means "no rate limiting" (unauthenticated * callers each get their own token, never reused). */ getOrCreate(userId: string, build: () => Promise<{ buffer: Buffer; fileName: string; meta: M; }>): Promise>; get(token: string): { buffer: Buffer; fileName: string; } | undefined; } export declare const exportDownloadStore: ExportDownloadStore; export {}; //# sourceMappingURL=exportDownloadStore.d.ts.map