import React from 'react';
import type { Context } from 'koa';
import type { HtmlProps } from '@shopify/react-html/server';
import { extract } from '@shopify/react-effect/server';
import type { ValueFromContext } from '../types';
export type { Context };
export interface RenderFunction {
    (ctx: Context): React.ReactElement<any>;
}
export type RenderOptions = Pick<NonNullable<Parameters<typeof extract>[1]>, 'afterEachPass' | 'betweenEachPass'> & {
    assetPrefix?: string;
    assetName?: string | ValueFromContext<string>;
    renderError?: RenderFunction;
    renderRawErrorMessage?: boolean;
    htmlProps?: HtmlProps | ValueFromContext<HtmlProps>;
};
/**
 * Creates a Koa middleware for rendering an `@shopify/react-html` based React application defined by `render`.
 * @param render
 * @param options
 */
export declare function createRender(render: RenderFunction, options?: RenderOptions): import("koa").Middleware<import("koa").DefaultState, Context & import("koa").DefaultContext, any>;
//# sourceMappingURL=render.d.ts.map