import type * as Express from 'express';
import { BuildOptions } from '../build/index.js';
interface CreateRequestHandlerOptions {
    build: BuildOptions;
}
interface PreRenderAppOptions {
    build: BuildOptions;
    outDir?: string;
    routes?: string[];
}
/**
 * This function is responsible for creating a request handler for the server.
 * @param options
 * @returns
 */
export declare function createRequestHandler(options: CreateRequestHandlerOptions): (req: Express.Request, res: Express.Response) => Promise<string | void | Response>;
/**
 * This function prerenders all Rasengan routes into static HTML files.
 * It replaces the need for a runtime server and allows deployment to a CDN.
 */
export declare function preRenderApp(options: PreRenderAppOptions): Promise<{
    isIndexPrerendered: boolean;
}>;
/**
 * This function is responsible for handling the document request.
 * @param req
 * @param res
 * @returns
 */
export declare function handleDocumentRequest(): void;
/**
 * This function is responsible for handling the data request.
 * @param req
 * @param res
 * @returns
 */
export declare function handleDataRequest(): void;
export {};
