import type { APIContext, EndpointHandler, MiddlewareHandler, Params } from '../../@types/astro.js';
import { type Environment, type RenderContext } from '../render/index.js';
type CreateAPIContext = {
    request: Request;
    params: Params;
    site?: string;
    props: Record<string, any>;
    adapterName?: string;
    locales: string[] | undefined;
    routingStrategy: 'prefix-always' | 'prefix-other-locales' | undefined;
    defaultLocale: string | undefined;
};
/**
 * Creates a context that holds all the information needed to handle an Astro endpoint.
 *
 * @param {CreateAPIContext} payload
 */
export declare function createAPIContext({ request, params, site, props, adapterName, locales, routingStrategy, defaultLocale, }: CreateAPIContext): APIContext;
export declare function callEndpoint(mod: EndpointHandler, env: Environment, ctx: RenderContext, onRequest: MiddlewareHandler | undefined): Promise<Response>;
export {};
