/**
* Same-origin HTTP bridge for HTML/SVG rendering from the workbench.
*
* Same contract style as the studio route: GET describes the renderer, POST
* renders one document and returns an attachment the rail can show.
*
* @module dsh-arya-image-gen/render-route
*/
import type { IncomingMessage, ServerResponse } from 'node:http';
import type { RenderConfigResponse, StudioRenderRequest, StudioRenderResponse } from './shared.js';
/** Everything the route needs from the host. */
export interface RenderRouteDeps {
describe(): Promise;
render(input: StudioRenderRequest, signal: AbortSignal): Promise;
maxBodyBytes: number;
timeoutMs?: number;
}
/** Serve renderer capabilities and render requests. */
export declare function serveRender(req: IncomingMessage, res: ServerResponse, deps: RenderRouteDeps): Promise;
/** Strictly validate the untrusted workbench render contract. */
export declare function parseRenderRequest(value: unknown): StudioRenderRequest;