/**
 * Ambient module declaration for @paperclipai/content-renderer.
 *
 * The content-renderer package uses Remotion (React JSX + webpack rspack) which
 * must NOT be resolved into the server's tsc context (server tsconfig has no jsx
 * option and must not include the bundler/renderer webpack path).
 *
 * This declaration provides server-side type safety for the dynamic import without
 * pulling in the JSX composition files.
 */
declare module "@paperclipai/content-renderer" {
  export function getBundlePath(): Promise<string>;

  export interface RenderPresentationOptions {
    serveUrl: string;
    input: Record<string, unknown>;
    onProgress: (progress: number) => void;
    browserExecutable?: string;
  }

  export interface RenderPresentationResult {
    buffer: Buffer;
    durationInFrames: number;
    fps: number;
    inputProps: Record<string, unknown>;
  }

  export function renderPresentationComposition(
    opts: RenderPresentationOptions,
  ): Promise<RenderPresentationResult>;
}
