import { Journal } from "./journal.js";
import { Fixture, HandlerDefaults, VideoResponse } from "./types.js";
import * as http$1 from "node:http";

//#region src/video.d.ts

/**
 * A Map wrapper for video state that enforces a maximum size and per-entry TTL.
 * Entries older than VIDEO_STATE_TTL_MS are lazily evicted on `get`.
 * When the map exceeds VIDEO_STATE_MAX_ENTRIES on `set`, the oldest entries
 * are removed to stay within bounds.
 */
declare class VideoStateMap {
  private readonly entries;
  get(key: string): VideoResponse["video"] | undefined;
  set(key: string, video: VideoResponse["video"]): void;
  delete(key: string): boolean;
  clear(): void;
  get size(): number;
}
declare function handleVideoCreate(req: http$1.IncomingMessage, res: http$1.ServerResponse, raw: string, fixtures: Fixture[], journal: Journal, defaults: HandlerDefaults, setCorsHeaders: (res: http$1.ServerResponse) => void, videoStates: VideoStateMap): Promise<void>;
declare function handleVideoStatus(req: http$1.IncomingMessage, res: http$1.ServerResponse, videoId: string, journal: Journal, setCorsHeaders: (res: http$1.ServerResponse) => void, videoStates: VideoStateMap): void;
//# sourceMappingURL=video.d.ts.map

//#endregion
export { VideoStateMap, handleVideoCreate, handleVideoStatus };
//# sourceMappingURL=video.d.ts.map